约束说明如下:
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