SQL 约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止
在 SQL 中,我们有如下六个约束:
- NOT NULL -非空
- UNIQUE -唯一性
- PRIMARY KEY -主键
- FOREIGN KEY -外键
- CHECK -检测
- DEFAULT -默认值
1.PRIMARY KEY 主键,是NOT NULL和UNIQUE的结合,一张表可以有多个UNIQUE,但是只能有一个主键,主键可以由多列组合而成。 2.FOREIGN KEY 约束用于预防破坏表之间连接的行为。 FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。 3.CHECK 约束用于限制列中的值的范围。 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。 如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)