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

mysql主键约束怎么写(mysql的主键约束相当于唯一约束和什么约束的组合)p id main toc strong 目录 strong p 1 唯一键 Unique Key 2 外键 foreign key references 3 综合案例 商店数据库设计 1 唯一键 Unique Key

大家好,我是讯享网,很高兴认识大家。



 <p id="main-toc"><strong>目录</strong></p> 

讯享网

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 实现

 

示例:

小讯
上一篇 2025-05-25 14:41
下一篇 2025-05-27 21:19

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/168420.html