约束
- 概念: 对表中的数据进行限定, 保证数据的正确性, 有效性 和 完整性
- 分类:
- 主键约束 ->
PRIMARAY KEY
- 非空约束 ->
NOT NULL
- 唯一约束 ->
UNIQUE
- 外键约束 ->
FOREIGN KEY
- 主键约束 ->
1.非空约束
- 值不能为
null
- 创建表时添加约束
~~字段名~~ ~~字段类型~~ NOT NULL;
- 修改约束
ALTER ... MODIFY ....
2.唯一约束
- 值不能重复
- 创建添加
~~字段名~~ ~~字段类型~~ UNIQUE;
- 修改约束
删除 -> ALTER TABLE ~~表名~~ DROP INDEX ~~字段名~~;
- 添加 ->
ALTER ... MODIFY ....
- 注意: MySQL中,唯一约束限定的值可以有多个
NULL
3.主键约束
- 非空且唯一
- 一张表只有一个字段为主键(唯一标识)
- 创建添加
~~字段名~~ ~~字段类型~~ PRIMARY KEY;
- 修改
- 删除 ->
ALTER TABLE ~~表名~~ DROP PRIMARY KEY;
- 添加 ->
ALTER ... MODIFY ....
- 删除 ->
- 自动增长 -
AUTO_INCREMENT
- 如果某一列是数值类型, 使用
AUTO_INCREMENT
完成值的自动增长
- 创建添加 ->
~~字段名~~ ~~字段类型~~ PRIMARY KEY AUTO_INCREMENT;
- 删除 ->
ALTER ... MODIFY ....;
- 添加 ->
ALTER ... MODIFY .... AUTO_INCREMENT;
- 如果某一列是数值类型, 使用
4.外键约束
- 外键可以为
NULL
- 创建添加 ->
CONSTRAINT ~~外键名称~~ FOREIGN KEY (~~外键列名~~) REFERENCES ~~主表名称~~(~~主表列名~~);
- 修改
- 删除 ->
ALTER TABLE ~~表名~~ DROP FOREIGN KEY ~~外键名~~;
- 添加 ->
ALTER TABEL ~~表名~~ ADD CONSTRAINT ~~外键名~~ FOREIGN KEY (~~外键列名~~) REFERENCES ~~主表名称~~(~~主表列名~~);
- 删除 ->
- 级联操作
- 添加 ->
CONSTRAINT ~~外键名称~~ FOREIGN KEY (~~外键列名~~) REFERENCES ~~主表名称~~(~~主表列名~~) 级联更新 / 级联删除;
- 级联更新 ->
ON UPDATE CASCADE;
- 级联删除 ->
ON DELETE CASCADE;
- 添加 ->