约束其实就是一种限制条件
1. 空约束
NULL 允许字段插入空值
2. 非空约束
NOT NULL 不允许字段插入空值
3. 默认值约束
DEFAULT 给字段设置默认值,在字段不插入值的情况下将默认值填入
4. 主键约束
PRIMARY KEY 标识唯一列,主键字段的值不会有重复值出现,一张表中只能出现一个主键字段
5. 唯一约束
unique 不会有重复值出现,一张表中可以又多个
6. 外键约束
FOREIGN KEY 用于从表中的某一个字段
1. 涉及两张表之间的关联,拥有外键字段的表叫做 从表,外键字段的值的来源那张表叫做主表
2. 主表中的字段必须是主键
3. 主表和从表的存储引擎必须是innodb
4. 一张表中可以设置多个外键字段
a. 外键添加
语法: Alter TABLE 表名称 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES
主表名称(主键字段) [ON UPDATE 级联操作设置] [ON DELETE 级联操作设置]
查看表中的约束: SHOW INDEX FROM 表名称
b. 删除外键
语法:Alter TABLE 表名称 DROP 外键名称
c. 外键的级联操作
casecade 级联
no action 不做任何操作,不允许级联操作
set null 设置为空