primary key

字段名 字段类型 primary key

  • 不能重复且不能为null
  • 一张表最多一个主键
    image.png
    image.png

复合主键: 多个字段共同实现 (约束条件: 主键字段合集不能重复)
image.png

not null

  • 字段名 字段类型 not null
  • 该列值不能为NULL

unique

字段名 字段类型 unique

  • 该列值不可重复
  • 如果没有指定 not null,则 unique 字段可以有多个null
    image.png

foreign key

定义主表和从表之间的关系
image.png

  • 外键指向表的字段要求是primary key 或者 unique
  • 表的类型是innodb才支持外键
  • 外键类型要和主键字段类型一致(长度除外)
  • 外键字段的值必须在主键字段汇总出现过或者NULL 前提是外键字段允许为NULL
  • 一旦建立主外键关系数据就不能随意删除了(这里通常指主表)

check

  • 用于强制满足的条件
  • mysql5.7 仅用于语法校验 不会生效
    image.png

Q.E.D.


全栈混子的菜鸡日常