sql约束

关键字: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)的组合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值