本文简单介绍一下SQL数据表的约束规则
7. SQL约束
1. NOT NULL
不接受NULL值
1 | CREATE TABLE Persons |
2. UNIQUE
UNIQUE约束唯一标示数据库中的记录,每个表可以有多个约束
1 | Mysql: |
如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:
1 | CREATE TABLE Persons |
对于已经创建的数据库,想要添加唯一性属性,代码如下:
1 | ALTER TABLE Persons |
撤销UNIQUE约束:
1 | Mysql: |
3. Primary Key
- PRIMARY KEY 约束唯一标识数据库表中的每条记录。
- 主键必须包含唯一的值。
- 主键列不能包含 NULL 值。
- 每个表都应该有一个主键,并且每个表只能有一个主键。
具体语法同上!
4. FOREIGN KEY
- 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
- FOREIGN KEY 约束用于预防破坏表之间连接的动作。
- FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
1 | Mysql: |
如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:
1 | CREATE TABLE Orders |
对于已经创建的数据库添加FOREIGN KEY
1 | 方式一: |
对于已经创建的数据库删除FOREIGN KEY
1 | Mysql: |
5. CHECK
CHECK 约束用于限制列中的值的范围。
1 | CREATE TABLE Persons |
如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:
1 | CREATE TABLE Persons |
对于已构建的数据库,进行CHECK的添加和删除操作,形式与前面讲的基本一样
6. DEFAULT
DEFAULT 约束用于向列中插入默认值。
1 | CREATE TABLE Persons |
对于已经简历的数据库,操作如下;
添加DEFAULT:
1 | Mysql: |
删除DEFAULT:
1 | Mysql: |