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


 

你可能感兴趣的:(constraints)