返回顶部
首页 > 资讯 > 数据库 >mysql外键的关系有哪些
  • 590
分享到

mysql外键的关系有哪些

2024-04-02 19:04:59 590人浏览 安东尼
摘要

Mysql外键的关系有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  多对一  create table press( 

Mysql外键的关系有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

  多对一

  create table press(

  id int primary key auto_increment,

  name varchar(20)

  );

  create table book(

  id int primary key auto_increment,

  name varchar(20),

  press_id int not null,

  constraint fk_book_press foreign key(press_id) references press(id)

  on delete cascade

  on update cascade

  );

  # 先往被关联表中插入记录

  insert into press(name) values

  ('北京工业地雷出版社'),

  ('人民音乐不好听出版社'),

  ('知识产权没有用出版社')

  ;

  # 再往关联表中插入记录

  insert into book(name,press_id) values

  ('九阳神功',1),

  ('九阴真经',2),

  ('九阴白骨爪',2),

  ('独孤九剑',3),

  ('降龙十巴掌',2),

  ('葵花宝典',3)

  ;

  查询结果:

  mysql> select * from book;

  +----+-----------------+----------+

  | id | name | press_id |

  +----+-----------------+----------+

  | 1 | 九阳神功 | 1 |

  | 2 | 九阴真经 | 2 |

  | 3 | 九阴白骨爪 | 2 |

  | 4 | 独孤九剑 | 3 |

  | 5 | 降龙十巴掌 | 2 |

  | 6 | 葵花宝典 | 3 |

  +----+-----------------+----------+

  rows in set (0.00 sec)

  mysql> select * from press;

  +----+--------------------------------+

  | id | name |

  +----+--------------------------------+

  | 1 | 北京工业地雷出版社 |

  | 2 | 人民音乐不好听出版社 |

  | 3 | 知识产权没有用出版社 |

  +----+--------------------------------+

  rows in set (0.00 sec)

  多对多

  # 创建被关联表author表,之前的book表在讲多对一的关系已创建

  create table author(

  id int primary key auto_increment,

  name varchar(20)

  );

  #这张表就存放了author表和book表的关系,即查询二者的关系查这表就可以了

  create table author2book(

  id int not null unique auto_increment,

  author_id int not null,

  book_id int not null,

  constraint fk_author foreign key(author_id) references author(id)

  on delete cascade

  on update cascade,

  constraint fk_book foreign key(book_id) references book(id)

  on delete cascade

  on update cascade,

  primary key(author_id,book_id)

  );

  #插入四个作者,id依次排开

  insert into author(name) values('eGon'),('alex'),('wusir'),('yuanhao');

  # 每个作者的代表作

  egon: 九阳神功、九阴真经、九阴白骨爪、独孤九剑、降龙十巴掌、葵花宝典

  alex: 九阳神功、葵花宝典

  wusir:独孤九剑、降龙十巴掌、葵花宝典

  yuanhao:九阳神功

  # 在author2book表中插入相应的数据

  insert into author2book(author_id,book_id) values

  (1,1),

  (1,2),

  (1,3),

  (1,4),

  (1,5),

  (1,6),

  (2,1),

  (2,6),

  (3,4),

  (3,5),

  (3,6),

  (4,1)

  ;

  # 现在就可以查author2book对应的作者和书的关系了

  mysql> select * from author2book;

  +----+-----------+---------+

  | id | author_id | book_id |

  +----+-----------+---------+

  | 1 | 1 | 1 |

  | 2 | 1 | 2 |

  | 3 | 1 | 3 |

  | 4 | 1 | 4 |

  | 5 | 1 | 5 |

  | 6 | 1 | 6 |

  | 7 | 2 | 1 |

  | 8 | 2 | 6 |

  | 9 | 3 | 4 |

  | 10 | 3 | 5 |

  | 11 | 3 | 6 |

  | 12 | 4 | 1 |

  +----+-----------+---------+

  rows in set (0.00 sec)

  一对一

  #例如: 一个用户只能注册一个博客

  #两张表: 用户表 (user)和 博客表(blog)

  # 创建用户表

  create table user(

  id int primary key auto_increment,

  name varchar(20)

  );

  # 创建博客表

  create table blog(

  id int primary key auto_increment,

  url varchar(100),

  user_id int unique,

  constraint fk_user foreign key(user_id) references user(id)

  on delete cascade

  on update cascade

  );

  #插入用户表中的记录

  insert into user(name) values

  ('alex'),

  ('wusir'),

  ('egon'),

  ('xiaoma')

  ;

  # 插入博客表的记录

  insert into blog(url,user_id) values

  ('Http://www.cnblog/alex',1),

  ('http://www.cnblog/wusir',2),

  ('http://www.cnblog/egon',3),

  ('http://www.cnblog/xiaoma',4)

  ;

  # 查询wusir的博客地址

  select url from blog where user_id=2;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: mysql外键的关系有哪些

本文链接: https://lsjlt.com/news/57908.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql外键的关系有哪些
    mysql外键的关系有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  多对一  create table press( ...
    99+
    2024-04-02
  • MYSQL外键的坏处有哪些
    这篇文章给大家介绍MYSQL外键的坏处有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 1、前段时间处理新耀的TX锁问题,发现由于是外键导致了INSERT INTO堵塞,现把外键...
    99+
    2024-04-02
  • mysql-外键的三种关系
    介绍因为有foreign key的约束,使得两张表形成了三种了关系:多对一多对多一对一重点理解如果找出两张表之间的关系分析步骤: #1、先站在左表的角度去找 是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreig...
    99+
    2023-01-30
    三种 关系 mysql
  • mysql中外键和主键的区别有哪些
    这篇文章主要介绍“mysql中外键和主键的区别有哪些”,在日常操作中,相信很多人在mysql中外键和主键的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中...
    99+
    2024-04-02
  • MySQL外键约束的作用有哪些
    MySQL外键约束的作用有以下几个:1. 保持数据的一致性:外键约束可以确保在关联表之间的数据一致性。它可以防止插入或更新表中的数据...
    99+
    2023-10-23
    MySQL
  • Mysql添加外键的方式有哪些
    本篇内容介绍了“Mysql添加外键的方式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mysql添加外键的几种方式注意:添加外键是给从...
    99+
    2023-07-05
  • MySQL添加外键的方法有哪些
    MySQL添加外键的方法有以下几种: 在创建表时添加外键约束:可以在创建表时,使用FOREIGN KEY关键字来添加外键约束。例如...
    99+
    2024-04-09
    MySQL
  • mysql如何删除外键关系
    这篇“mysql如何删除外键关系”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如...
    99+
    2024-04-02
  • MySQL外键约束知识点有哪些
    这篇文章主要介绍“MySQL外键约束知识点有哪些”,在日常操作中,相信很多人在MySQL外键约束知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL外键约束知...
    99+
    2024-04-02
  • MySQL之外键、表关系及SQL查询关键字
    一、外键 假设现在我们有一张员工信息表,表的字段如下: id # 主键 name # 姓名 age # 年龄 dep_name # 部门名称 dep_desc # 部门描述 单从数据存储上来看,这个表是没有问题的,但是从程序开...
    99+
    2018-09-24
    MySQL之外键 表关系及SQL查询关键字
  • MySQL使用外键约束的好处有哪些
    MySQL使用外键约束可以带来以下好处:1. 数据完整性:外键约束可以确保数据的完整性和一致性。它可以防止无效的数据插入或更新,以及...
    99+
    2023-10-12
    MySQL
  • mysql设置外键失效的原因有哪些
    MySQL设置外键失效的原因有以下几种:1. 数据类型不匹配:外键字段和参照字段的数据类型不一致,如外键字段是int类型,而参照字段...
    99+
    2023-10-12
    mysql
  • MySQL不能添加外键的原因有哪些
    MySQL不能添加外键的原因可能有以下几种: 数据类型不匹配:外键引用的列和参考列的数据类型不一致,如长度不一致、类型不一致等。...
    99+
    2024-04-09
    MySQL
  • MySQL必须了解的关键字有哪些
    本篇内容主要讲解“MySQL必须了解的关键字有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL必须了解的关键字有哪些”吧!1、三范式第一范式:每个表...
    99+
    2022-12-08
    mysql
  • 有哪些方法可以增加mysql外键
    本文主要给大家介绍有哪些方法可以增加mysql外键,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下有哪些方法可以增加mysql外键吧。mysql添加外...
    99+
    2024-04-02
  • vue的关键字有哪些
    vue中的关键字有:1.v-model,将标签的value值与vue实例中的data属性值进行绑定;2.v-on,通过配合具体的事件名来绑定Vue中定义的函数;3.v-bind,动态地绑定一个或多个特性;vue中的关键字有以下几种v-mod...
    99+
    2024-04-02
  • java的关键字有哪些
    java中常用的关键字有:1.abstract,用于修饰类和方法;2.boolean,用于声明布尔类型;3.class,用于声明一个类;4.return,用于表示一个方法返回的值;5.assert,用于创建一个断言;6.super,表明当前...
    99+
    2024-04-02
  • 影响mysql性能的关键配置有哪些
    这篇文章给大家分享的是有关影响mysql性能的关键配置有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  (一)连接  连接通常来自Web服务器,下面列出了一些与连接有关的参...
    99+
    2024-04-02
  • MySQL 外键约束和表关系相关总结
    目录外键(Foreign Key)如何确定表关系如何建立表关系一对多关系 - 员工表和部门表多对多一对一表关系总结外键(Foreign Key) 按照上述所说,一张表存储员工信息会极大的浪费资源,重复数据太多,这个...
    99+
    2022-05-18
    MySQL 外键约束 MySQL 表关系
  • JavaScript有哪些关键字
    这篇文章主要为大家展示了“JavaScript有哪些关键字”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript有哪些关键字”这篇文章吧。JavaS...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作