- 本博客是《MySQL基础》系列博客的第四部分,主要介绍表的完整性约束条件,重头戏自然是主外键
- 本博客既为方便自己查看复习而作,亦为你而作,望能有所裨益
- 学习交流请联系 April_0911@163.com
基本概念
表的完整性约束条件指的是一系列用来保证表的完整性、一致性、无重复性等特性的条件。
条件分类
在《MySQL基础(二):基本操作》里我们在创建表的时候已经顺带简单介绍了其中一些条件,如下图的相关设置即我们所说的表的完整性约束条件:

表的完整性约束条件
| 按键 | 说明 |
|---|---|
| PK | Primary Key,主键 |
| NN | Not Null,非空 |
| UQ | Unique,索引唯一 |
| B | Binary,二进制 |
| UN | 无符号 |
| ZF | Zero Fill,零填充 |
| AI | Auto Increment,自增,即从1开始每次递增1 |
| G | Generated,生成列 |
主键外键
我们平日常听到表的主外键之说,那么什么是表的主外键呢?它们又是干什么的呢?下面我们就来简单了解一下:
- 表的完整性约束主要是靠表的主外键来完成的,其基本概念如下表所示:
| 概念 | 定义 | 作用 | 个数 |
|---|---|---|---|
| 主键 | 唯一标识一条记录,不能有重复的,不允许为空 | 保证数据完整性 | 只能有一个 |
| 外键 | 表的外键是另一表的主键,可重复,可为空 | 和其他表建立联系 | 可以有多个 |
- 主外键用来连接不同的表,从而方便数据查询,提高查询效率
- 外键对事务的频繁操作会影响性能,在高并发的数据库系统中不适合添加外键
- 示例:
- Workbench操作

- SQL语句
- Workbench操作
alter table <数据库>.<外数据表> add index <外键名>(外键字段); -- 添加外键
alter table <数据库>.<外数据表> add constraint <外键名>
foreign key(<外键字段>) references <数据库>.<主数据表>(<主键字段>)
on delete <相关操作> -- 相关操作可选 NO ACTION,SET NULL,CASCADE,RESTRICT
on update <相关操作>; -- 具体说明将在后面揭晓
其他条件
其他完整性约束条件应在实际业务中按需添加,只需要添加或修改关键字即可
具体可见:《MySQL基础(六):DDL语句》
本文深入探讨MySQL中表的完整性约束,重点讲解主键与外键的概念、作用及使用方法,帮助理解数据完整性和表间关系。
245

被折叠的 条评论
为什么被折叠?



