primary key
字段名 字段类型 primary key
- 不能重复且不能为null
- 一张表最多一个主键
复合主键: 多个字段共同实现 (约束条件: 主键字段合集不能重复)
not null
- 字段名 字段类型 not null
- 该列值不能为NULL
unique
字段名 字段类型 unique
- 该列值不可重复
- 如果没有指定 not null,则 unique 字段可以有多个null
foreign key
定义主表和从表之间的关系
- 外键指向表的字段要求是primary key 或者 unique
- 表的类型是innodb才支持外键
- 外键类型要和主键字段类型一致(长度除外)
- 外键字段的值必须在主键字段汇总出现过或者NULL 前提是外键字段允许为NULL
- 一旦建立主外键关系数据就不能随意删除了(这里通常指主表)
check
- 用于强制满足的条件
- mysql5.7 仅用于语法校验 不会生效