文章目录

  • 基本概念
  • 条件分类
  • 主键外键
  • 其他条件

基本概念

表的完整性约束条件指的是一系列用来保证表的完整性、一致性、无重复性等特性的条件。

条件分类

在《MySQL基础(二):基本操作》里我们在创建表的时候已经顺带简单介绍了其中一些条件,如下图的相关设置即我们所说的表的完整性约束条件:

mysql怎么添加CHECK完整性约束 mysql完整性约束条件_sql


表的完整性约束条件

按键

说明

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 <相关操作>; -- 具体说明将在后面揭晓

其他条件

其他完整性约束条件应在实际业务中按需添加,只需要添加或修改关键字即可