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

mysql主键约束怎么写(mysql的主键约束相当于唯一约束和什么约束的组合)



目录

1. 唯一键(Unique Key)

2. 外键 foreign key ( ) references...

3. 综合案例 – 商店数据库设计


1. 唯一键(Unique Key)

作用:在一张表中,唯一键用于对多个需要唯一性约束的字段进行限制。虽然表中只能有一个主键,但可以使用多个唯一键来确保数据唯一性。

区别

  • 主键:标识唯一性,主要用于唯一标识记录。
  • 唯一键:更多地用于业务逻辑上的唯一性约束,允许字段为空,并且多个空值不会影响唯一性比较。

示例场景:在员工管理系统中,身份证号码可以作为主键,确保员工的唯一标识;员工工号可以设置为唯一键,确保工号在公司业务上不会重复。

示例代码

 
   

测试: 

 

主键 vs 唯一键

唯一键和主键不冲突,可以理解为对主键的补充设置

只能有一个主键,但可以有多个唯一键

  • 建议一般而言,建议将主键设计成和当前业务无关的字段,这样,当业务调整的时候,我们可以尽量不会对主键做过大的调整

2. 外键 foreign key ( ) references...

外键:

  1. 从表和主表的关联关系
  2. 产生外键约束

为什么需要外键约束?

外键用于确保表间数据的一致性例如防止插入一个不存在班级的学生或删除一个还有学生的班级。

  • 定义:外键约束用于建立主表和从表之间的关联关系,主要定义在从表上,主表必须包含主键或唯一键。

外键用于定义主表和从表之间的关系:

  • 外键约束主要定义在从表上
  • 主表则必须是有主键约束或unique约束
  • 当定义外键后,要求外键列数据必须在主表的主键列存在或为NULL

在从表中,设置外键约束:

 
    

示例代码

 
    

  • 外键约束的理解:通过外键约束将表间关系交由数据库管理,避免在业务上关联的表间出现不一致的数据。

如果两张表在业务上是有相关性的,但是在业务上没有建立约束关系,那么就可能出现问题

  • 解决方案就是通过外键完成的

建立外键的本质其实就是把相关性交给MYSQL去审核了,提前告诉MYSQL表之间的约束关系

  • 那么当用户插入不符合业务逻辑的数据的时候,MYSQL不允许你插入

3. 综合案例 – 商店数据库设计

数据库需求:记录客户与购买信息,包含三个表:

  • 表:存储商品信息。
  • 表:存储客户信息,要求姓名不能为空,邮箱唯一,性别需为“男”或“女”。
  • 表:记录客户的购买信息,与客户和商品表建立外键关联。

SQL 实现

 
     

示例:

到此这篇mysql主键约束怎么写(mysql的主键约束相当于唯一约束和什么约束的组合)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • sqlloader 字符集(sqlloader字符编码设置)2025-08-11 14:09:04
  • sql文件是什么样的(sql文件有什么用)2025-08-11 14:09:04
  • sql文件如何打开运行(运行.sql文件)2025-08-11 14:09:04
  • sql增删改查基本命令(sql增删改查怎么写)2025-08-11 14:09:04
  • sql文件在哪里(sql文件在哪里找)2025-08-11 14:09:04
  • pymysql连接sql server(pymysql连接数据库错误20009)2025-08-11 14:09:04
  • pymysql由于目标计算机积极拒绝(sql由于目标计算机积极拒绝,无法连接)2025-08-11 14:09:04
  • sql文件怎么导入数据库plsql(将sql文件导入sql server)2025-08-11 14:09:04
  • mysql 主键重置为0(mysql主键重复怎么解决)2025-08-11 14:09:04
  • pymysql的基本使用(pymysql mysql)2025-08-11 14:09:04
  • 全屏图片