加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sqlserver 约束简介

发布时间:2020-12-12 14:08:37 所属栏目:MsSql教程 来源:网络整理
导读:数据库约束是为了保证数据的完整性(正确性)而实现的一套机制 非空约束 主键约束(PK) primary key constraint 唯一且不为空 唯一约束 (UQ)unique constraint 唯一,允许为空,但只能出现一次 默认约束 (DF)default constraint 默认值 检查约束 (CK)check cons

数据库约束是为了保证数据的完整性(正确性)而实现的一套机制
非空约束
主键约束(PK) primary key constraint 唯一且不为空
唯一约束 (UQ)unique constraint 唯一,允许为空,但只能出现一次
默认约束 (DF)default constraint 默认值
检查约束 (CK)check constraint 范围以及格式限制
外键约束 (FK)foreign key constraint 表关系


--添加主键约束
alter table Score
add constraint? PK_Score primary key(sId)

?
--添加唯一约束
alter table student
add constraint UQ_student unique(sNo)


--添加默认约束
alter table student
add constraint DF_student default('男') for sSex

--添加检查约束
alter table student
add constraint CK_student check(sAge >=18 and sAge <=100)

alter table student
add constraint CK_Sutdent1 check(sSex='男' or sSex='女')

alter table student
add constraint CK_Student2 check(sIntime>sBirthday)????????? --入学日期必须大于出生日期

--添加外键约束(主键表Class 外键表student)
alter table student
add constraint FK_student
foreign key(sClassId) references Class(cId) --外键student表中的sClassId来references引用主键表中的cid
on delete cascade????? --级联删除,添加约束的时候加上这个,删除主表的时候,会把外键对应的子表级联删除(慎用)
on update cascade????? --级联更新
--删除约束
alter table student
drop constraint FK_student

?

?

--约束练习
--Teacher表中
--tSex? 控制只能是男 女,默认男
--tAge? 在30-40之间? 默认30
--tName 唯一
alter table Teacher
add constraint CK_Teacher_tSex check(tSex='男' or tSex='女'),
constraint DF_Teacher_tSex default ('男') for tSex,
constraint CK_Teacher_tAge check(tAge>=30 and tAge <=40),
constraint DF_Teacher_tAge default (30) for tAge,
constraint UQ_Teacher_tName unique (tName)

?

?

--在建表的时候创建约束

--drop table Student0 create table Student0 ( ?sId int identity(1,1) primary key,?sName nvarchar(10) not null,?sAge int constraint CK_Student0_sAge check(sAge >= 18) constraint DF_Student0_sAge default(18),?sClassId int constraint FK_Student0_sClassId foreign key (sClassId) references Class(cId) )

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读