您的位置:首页 > 数据库

sql约束

2016-07-12 15:32 274 查看
关键字:constraint 约束是保证数据正确的最后一道防线。

增加约束:add

删除约束:drop

更新约束:先drop后add

种类:(非空也算约束一种)

1)主键(PK) primary key :该属性能唯一标识一条记录

2)外键(FK) foreign key:外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持

数据的一致性。 比如A表中的一个字段UserID是B表的主键,那UserID就可以是A表的外键。

4)唯一(UQ) unique

3)默认(DF) default

5)检查(CK) check

CREATE TABLE HR.Employees
(
empid           INT          NOT NULL IDENTITY,
lastname        NVARCHAR(20) NOT NULL,
firstname       NVARCHAR(10) NOT NULL,
title           NVARCHAR(30) NOT NULL,
titleofcourtesy NVARCHAR(25) NOT NULL,
birthdate       DATETIME     NOT NULL,
hiredate        DATETIME     NOT NULL,
address         NVARCHAR(60) NOT NULL,
city            NVARCHAR(15) NOT NULL,
region          NVARCHAR(15) NULL,
postalcode      NVARCHAR(10) NULL,
country         NVARCHAR(15) NOT NULL,
phone           NVARCHAR(24) NOT NULL,
mgrid           INT          NULL,
CONSTRAINT PK_Employees PRIMARY KEY(empid),--主键约束
CONSTRAINT FK_Employees_Employees FOREIGN KEY(mgrid)
REFERENCES HR.Employees(empid),--外键约束
CONSTRAINT CHK_birthdate CHECK(birthdate <= CURRENT_TIMESTAMP)--check约束
);


alter table 表名 add constraint 约束名(约束简写_表名) primary key/unique 列名

CONSTRAINT PK_Employees PRIMARY KEY(empid)--主键约束


add constraint 约束名(约束简写_表名) foreign key 列名 references 父表(主键列)

CONSTRAINT FK_Employees_Employees FOREIGN KEY(mgrid)
REFERENCES HR.Employees(empid)--外键约束


add constraint 约束名(约束简写_表名) default 值/或函数 for 列名

CONSTRAINT DFT_Products_discontinued DEFAULT(0) FOR mgrid


add constraint 约束名(约束简写_表名) check (包要含约束列条件语句)

CONSTRAINT CHK_birthdate CHECK(birthdate <= CURRENT_TIMESTAMP)--check约束


2) 删除约束(每次删除时,也要指明要修改的表

alter table 表名) alter table 表名 drop constraint 约束名

3) 更新约束:1)+ 2)的组合
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql 数据 SQL约束