SQL 约束constraints
1.约束constraints用于限制加入表的数据类型
2.创建表时规定约束,也可以创建后修改表加约束(Alter table)
3.常见约束:
- NOT NULL——非空,即如果不向字段添加值,就无法插入新记录或者更新记录
-
-
- 例:
CREATE TABLE Persons ( Id_P int
NOT NULL
, LastName varchar(255)NOT NULL
, FirstName varchar(255), Address varchar(255), City varchar(255) )
- 例:
-
UNIQUE——唯一标识。 -
- UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯 一性的保证。但每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
- 例:
CREATE TABLE Persons ( Id_P int NOT NULLUNIQUE
, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
或者
ALTER TABLE PersonsADD UNIQUE (Id_P)
或者
ALTER TABLE Persons
DROP CONSTRAINTS uc_PersonID
- PRIMARY KEY
- 主键列不能包含NULL值
-
CREATE TABLE Persons ( Id_P int NOT NULL
PRIMARY KEY
, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) )
- FOREIGN KEY
- CHECK——用于限制列中的值的范围。
-
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
-
- DEFAULT——用于向列中插入默认值
-
- 例如:使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, OrderDate date DEFAULT GETDATE() )
- 例如:使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
-