SQL Server 数据表代码创建约束
程序员文章站
2022-10-18 19:47:07
约束 非空约束 --NN,ont null constraint 必须填写数据不能为空 --指定表 Student 添加名为NN_Student_sClassId非空约束(指定列名sClassId),括号输入表达式 alter table Student add constraint NN_Stud ......
约束
非空约束 --NN,ont null constraint
必须填写数据不能为空
--指定表 Student 添加名为NN_Student_sClassId非空约束(指定列名sClassId),括号输入表达式
alter table Student add constraint NN_Student_sClassId check(sClassId is not null)
主键约束 --PK,primary key constraint
唯一且不为空
--指定表 Student 添加名为PK_Student_sId主键约束(指定列名sId)
alter table Student add constraint PK_Student_sId primary key(sId)
唯一约束 --UQ,unique constraint
唯一,允许为空,但是同样的数据只能出现一次
--指定表 Student 添加名为UQ_Student_sName唯一约束(指定列名sName)
alter table Student add constraint UQ_Student_sName unique(sName)
默认约束 --DF,default constraint
设置默认值
--指定表 Student 添加名为DF_Student_sName默认约束(指定列名sBirthday),获取当前日期
alter table Student add constraint DF_Student_sName default(getdate()) for sBirthday
--指定表 Student 添加名为DF_Student_sName默认约束(指定列名sBirthday),指定日期
alter table Student add constraint DF_Student_sName default('1995-12-12') for sBirthday
--指定表 Student 添加名为DF_Student_sName默认约束(指定列名sSex),指定性别
alter table Student add constraint DF_Student_sSex default('男') for sSex
检查约束 --CK,check constraint
设置范围以及格式限制
--指定表 Student 添加名为 CK_Student_sSex检查约束(指定列名sSex),限制为'男'或者'女'
alter table Student add constraint CK_Student_sSex check(sSex='男' or sSex='女')
--指定表 Student 添加名为 CK_Student_sSex检查约束(指定列名sAge),限制为0-100之间的数字
alter table Student add constraint CK_Student_sAge check(sAge>=0 and sAge<=100)
外键约束 --FK,foreign key constraint
表关系
alter table Student add constraint Fk_Student_sClassId foreign key(sClassId) references Class(cId)
--指定表Student添加sClassId外键为Class的主键cId
on delete cascade on update cascade --级联删除 --级联更新
删除约束
alter table Student drop Constraint NN_Student_sClassId --删除指定表中的约束
创建表时设置列的约束
create table Users
(
uId int identity(1,1) primary key,--创建了一个列名为 uId的列,并设置了主键约束
uName nvarchar(8) not null unique,创建了一个列名为uName的列,并设置了唯一约束
uSex nchar(1) not null check(uSex='男' or uSex='女') default('男'),--设置了非空和默认约束
uBirthday datetime,--创建了一个列名为uBirhday的列,并没有设置约束
uAge int not null check(uAge>0 and uAge<100) default(18),--设置了非空、检查、默认约束
)
上一篇: outlook不能添加网易邮箱该怎么办?
推荐阅读
-
SQL Server中的XML数据进行insert、update、delete操作实现代码
-
SQL Server2005打开数据表中的XML内容时报错的解决办法
-
推荐SQL Server 重新恢复自动编号列的序号的sql代码
-
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
-
SQL Server 表的管理_关于事务的处理的详解(案例代码)
-
SQL Server创建维护计划失败(SQL Server:14234 错误)的解决方法
-
EFCore 通过实体Model生成创建SQL Server数据库表脚本
-
简单的SQL Server备份脚本代码
-
sql server中千万数量级分页存储过程代码
-
如何创建和还原SQL Server 2000数据库?