博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

手写sql代码增加约束

Posted on 2015-08-31 14:51  提着裤衩追  阅读(267)  评论(0编辑  收藏  举报

当创建了主外键关系后,如果在外键表中有任何记录引用了主键表中的某条记录,则在主键表中不能删除该记录。同时主键表也不能删除。

 

新建一张表:员工信息表

create table Employees

(

  EmpId int identity(1,1),

  EmpName varchar(50),

  EmpGender char(2),

  EmpAge int,

  EmpEmail varchar(100),

  EmpAddress varchar(500)

)

 

 

create table Department

(

  DepId int identity(1,1) primary key,

  DepName varchar(50) unique not null 

)

 

Drop table Employees

 

select * from Employees

 

--============手动增加约束==========

--手动删除一列(删除EmpAddress列)

alter table Employees drop column EmpAddress

--手动增加一列(增加一列EmpAddr varchar(1000))

alter table Employees add EmpAddr11 varchar(500),AA int ,bb varchar(10)

--手动修改一下EmpEmail的数据类型(varchar(200))

alter table Employees alter column EmpAddr varchar(1000)

 

--为EmpId增加一个主键约束

alter table Employees add constraint PK_EmpId primary key(EmpId)

 

--非空约束,为EmpName增加一个非空约束

alter table Employees alter column EmpName varchar(50) not  null

 

--为EmpName增加一个唯一约束

alter table Employees add constraint UQ_EmpName unique(EmpName)

 

--为性别增加一个默认约束,默认为'男'

alter table Employees add constraint DF_EmpGender default('男') for EmpGender

 

--为年龄增加一个检查约束:年龄必须在-120岁之间,含岁与岁。

alter table Employees add constraint CK_EmpAge check(EmpAge >=0 and EmpAge<=120)

 

--创建一个部门表,然后为Employee表增加一个DepId列。

alter table Employees add DeptId int

 

--增加外键约束

alter table Employees add constraint FK_DeptId_DepId foreign key(DeptId) references Department(DepId)