SQL 约束 (Constraints)
约束说明如下:
create table Persons ( id int primary key identity(1,1) , ---主键,自增长 id_p int not null unique CHECK (Id_P>0) --check , --唯一 LastName varchar(255) not null , --null FirstName varchar(255), City varchar(255) default ‘beijing‘, --default Constraint uc_FullName unique(FirstName,LastName) , --联合唯一 CONSTRAINT chk_Person CHECK (Id_P>0 AND City=‘Sandnes‘) --check约束
)
Primary key 约束 如果在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:
ALTER TABLE Persons ADD PRIMARY KEY (Id_P) 如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName) --撤消primary key ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
--外键 CREATE TABLE Orders ( O_Id int NOT NULL PRIMARY KEY, OrderNo int NOT NULL, Id_P int )
如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL: ALTER TABLE Orders ADD FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) 如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法: ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
Unique唯一约束:
--创建单一个字段唯一约束 ALTER TABLE Persons ADD UNIQUE (id_p) --如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法: ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (id_p,LastName) --撤消unique 约束 ALTER TABLE Persons DROP CONSTRAINT uc_PersonID
--CHECK 约束
如果在表已存在的情况下为 "Id_P" 列创建 CHECK 约束,请使用下面的 SQL: ALTER TABLE Persons ADD CHECK (Id_P>0) 如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法: ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City=‘Sandnes‘)
--DEFAULT
修改default
ALTER TABLE Persons ALTER COLUMN City SET DEFAULT ‘SANDNES‘
--删除default
ALTER TABLE Persons ALTER COLUMN City DROP DEFAULT