六大约束
- 非空约束(not null)
- 默认值约束(default)
- 主键约束(primary key)
- 唯一约束(unique)
- 检查约束(check)
- 外键约束(foreign key)
约束的含义
非空约束:
默认值约束:
主键约束:
- 该字段不能重复,也不能为null。
- 一个表内只能有一个主键约束。
- 可以将两个或多个属性共同组成一个复合主键。
唯一约束:
- 该字段不能重复,可以为空。
- 一个表内可以有多个唯一约束。
检查约束:
外键约束:
- 该字段的值必须要来自约束关联的外表字段值。
- 被关联的主表必须具有主键约束或者唯一约束。
- 插入数据时必须先插入主表,再插入从表
- 删除数据时必须先删除从表,再删除主表
主键约束和唯一约束的比较
|
唯一性 |
能否为null |
存在个数 |
主键 |
√ |
× |
一个 |
唯一 |
√ |
√ |
多个 |
约束的添加:
1. 创建表的时候直接添加
CREATE TABLE student
(
id INT PRIMARY KEY,-- 主键约束
school varchar(10) DEFAULT 'QFNU',-- 默认值约束
sex varchar(2) NOT null, -- 非空约束
card_id INT REFERENCES students(id),-- 外键约束
phone INT UNIQUE -- 唯一约束
)
2.使用alter添加