当前位置:网站首页 > SQL数据库编程 > 正文

mysql主键和外键的建立关系(mysql主键和外键的建立关系)



定义主键和外键主要是为了维护关系数据库的完整性,总结一下:

1、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。不能有重复的,不允许为空

2、外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。

比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。表的外键是另一表的主键, 外键可以有重复的, 可以是空值

3、索引:该字段没有重复值,但可以有一个空值

作用:

个数:

不一定是主键,但必须是唯一性索引。
主键约束和唯一性约束都是唯一性索引。
外键是表间关系的参照,可以不是主键。只是表明两个表之间的关系是通过那个属性连接起来的。

外键的使用场景

因为有foreign key的约束,使得两张表形成了三种了关系:

1、书和出版社(一对多或多对一)

  一个出版社可以出版多本书,一本书也可以被多家出版社书版

  关联方式:foreign key

创建出版社表

创建书籍表

注意:

on delete cascade 和 on update cascade的意思是:在父表上

插入出版社记录

插入书籍记录

2、作者和书籍的关系

  多对多:一个作者可以写多本书,一本书也可以有多个作者,双向的一对多,即多对多。

  关联方式:foreign key+一张新的表

3、用户和账号

  一对一:一个用户只能注册一个账号,即一对一的关系

  关联方式:foreign key+unique

创建用户表

创建博客表

插入用户表中的记录

插入博客表的记录

查询lisi的博客地址

1、创建一个表用来引用外键

2、创建一个表,使用外键引用

注意:

如果student表中跟这个class表有关联的数据,是不能删除class表中与其关联的纪录的。

MySQL外键约束_ON DELETE CASCADE/ON UPDATE CASCADE(级联删除,删除主表数据,附表数据也被删除)_Marttin2的博客-CSDN博客

mysql-外键的三种关系 (py3study.com)

到此这篇mysql主键和外键的建立关系(mysql主键和外键的建立关系)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pymysql连接sql server(pymysql连接数据库被拒绝)2024-12-21 23:09:05
  • pymysql的基本使用(pymssql)2024-12-21 23:09:05
  • jdbc连接数据库增删改查(jdbc连接mysql数据库增删改查代码)2024-12-21 23:09:05
  • mysql主键查询快还是索引查询快(mysql主键和索引)2024-12-21 23:09:05
  • plsql注册码过期(plsql注册码永久)2024-12-21 23:09:05
  • sql数据库基础知识(sql数据库基础知识思维导图)2024-12-21 23:09:05
  • pymysql 使用(pymysql使用之前需要安装mysql吗)2024-12-21 23:09:05
  • mysql中主键约束(sql中主键约束是什么)2024-12-21 23:09:05
  • sql server打开sql文件(打开sql文件的app)2024-12-21 23:09:05
  • 安装pymysql包的命令(安装pymysql失败)2024-12-21 23:09:05
  • 全屏图片