SQL约束文档

create table Employees(
EmpId int identity(1,1),
EmpName varchar(50),
EmpGender char(2),
EmpAge int,
EmpEmail varchar(100),
EmpAddress varchar(500)
)
go
create Table Department
(
DepId int identity(1,1),
DepName varchar(50) 
)

--手动删除一列(删除EmpAddress列)
alter table Employees drop column EmpAddress
--手动增加一列(增加一列EmpAddr varchar(1000))
alter table Employees add EmpAddr varchar(1000)
--手动修改一下EmpEmail的数据类型(varchar(200))
alter table Employess alter column EmpAddr varchar(200)
--为EmpId增加一个主键约束
alter table Employess add constraint PK_Employees_EmpId primary key(EmpId)
--增加yi8ge非空约束  其实即使修改列
alter table Employees
alter column EmpName varchar(50) not null
--为EmpName增加一个唯一约束
alter table Employees add constraint
UQ_Employees_EmpName unique(EmpName)
--为性别增加一个默认约束
alter table Employees add constraint
DF_Employees_EmpGender default('男') for EmpGender
--为年龄增加一个检查约束;年龄必须在0-120岁之间含0和120岁
alter table Employess add constraint
CK_Employees_EmpAge check(empage>=0 and empage<=120)
--增加外键约束,表Employee中有一列EmpDeptId引用TblDepartment表中的DeptId
alter table Employees add DepId int not null

alter table Department add constraint 
PK_Department_DepId primary key(DepId)

alter table Employees add constraint
FK_Employees_Department foreign key(DepId) references Departmnet(DepId)

          --增加外加约束时,设置级联更新,级联删除
          --[ON DELETE{NOACTION|SET NULL|DEFAULT}]
          --[ON UPDATE{NOACTION|SET NULL|DEFAULT}]
          --先删除原来的外键
          alter table Employees drop constraint FK_Employees_Department
   --设置外键的时候设置级联删除
alter table Employees add constraint
FK_Employees_Department foreign key(DepId) references Departmnet(DepId) on delete cascade     
--删除某个名字的约束
 alter table Employees drop constraint FK_Employees_Department
--一条语句删除多个约束,约束名用 逗号 隔开
alter table Employees drop constraint FK_Employees_Department,CK_Emplpoyees_EmpAge,UQ_Employees_EmpName
--一条语句增加多个约束
alter table Employees add constraint UQ_Emplyees_EmpName unique(EmpName),
constraint CK_Emplyees_EmpAge check(EmpAge>=0 and EmpAge<=120)

  

转载于:https://www.cnblogs.com/wohaoxue/p/4161154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值