完整性指数据的准确性和一致性,完整性检查就是检查数据的准确性和一致性,MySQL数据库管理系统提供了一致机制来检查数据库表中数据是否满足规定的条件,以保证数据库表中数据的准确性和一致性,这个机制就是约束
完整性约束关键字 含义
NOT NULL 约束字段的值不能为空
DEFAULT 设置字段的默认值
UNIQUE (UK) 约束字段的值是唯一
PRIMARY KEY (PK) 约束字段为表的主键,可以作为该表记录的唯一标识,唯一且非空
设置多字段主键:通过CONSTRAINT实现
CONSTRAINT 主键名 PRIMARY KEY(字段1,字段2)
AUTO_INCREMENT 约束字段的值为自动增加,MySQL唯一扩展的完整性约束,经常被设为主键
FOREIGN KEY (FK) 约束字段为表的外键
外键约束保证多个表(通常为两个表)之间的参照完整性,即构建两个表的两个字段之间的参照关系
设置外键约束的两个表之间会有父子关系,即字表中某个字段的取值范围由父表所定,例如部门和雇员两个表,雇员表中有一个表示部门的字段d,其依赖于部门表的主键,这个d字段就是雇员表的外键,通过该字段部门表和雇员表建立了关系
设置外键:通过CONSTRAINT
CONTRAINT 外键约束名 FOREGIN KEY (属性名1) REFERENCES 表名 (属性名2)