文章目录
- 基本概念
- 条件分类
- 主键外键
- 其他条件
基本概念
表的完整性约束条件指的是一系列用来保证表的完整性、一致性、无重复性等特性的条件。
条件分类
在《MySQL基础(二):基本操作》里我们在创建表的时候已经顺带简单介绍了其中一些条件,如下图的相关设置即我们所说的表的完整性约束条件:
表的完整性约束条件
按键 | 说明 |
PK | Primary Key,主键 |
NN | Not Null,非空 |
UQ | Unique,索引唯一 |
B | Binary,二进制 |
UN | 无符号 |
ZF | Zero Fill,零填充 |
AI | Auto Increment,自增,即从1开始每次递增1 |
G | Generated,生成列 |
主键外键
我们平日常听到表的主外键之说,那么什么是表的主外键呢?它们又是干什么的呢?下面我们就来简单了解一下:
- 表的完整性约束主要是靠表的主外键来完成的,其基本概念如下表所示:
概念 | 定义 | 作用 | 个数 |
主键 | 唯一标识一条记录,不能有重复的,不允许为空 | 保证数据完整性 | 只能有一个 |
外键 | 表的外键是另一表的主键,可重复,可为空 | 和其他表建立联系 | 可以有多个 |
- 主外键用来连接不同的表,从而方便数据查询,提高查询效率
- 外键对事务的频繁操作会影响性能,在高并发的数据库系统中不适合添加外键
- 示例:
- Workbench操作
- SQL语句
alter table <数据库>.<外数据表> add index <外键名>(外键字段); -- 添加外键
alter table <数据库>.<外数据表> add constraint <外键名>
foreign key(<外键字段>) references <数据库>.<主数据表>(<主键字段>)
on delete <相关操作> -- 相关操作可选 NO ACTION,SET NULL,CASCADE,RESTRICT
on update <相关操作>; -- 具体说明将在后面揭晓
其他条件
其他完整性约束条件应在实际业务中按需添加,只需要添加或修改关键字即可