手寫T-SQL創建約束

---------------------------手寫T-SQL創建約束------------------------------
alter table Employees add constraint FK_Employees_Department_EmpDepId foreign key(EmpDepId)
references Department(DepId) on delete cascade on update cascade
drop table Department
drop table Employees

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),
 DepName varchar(50)
)
-----------------1.爲Department創建主鍵約束----------------------
alter table Department
add constraint PK_Department_DepId
primary key(DepId)

------------------2.增加一個唯一約束------------------
alter table Department
add constraint UQ_Department_DepName
unique(DepName)

-------------------3.向Employees增加一個主鍵約束--------------
alter table Employees add
constraint PK_Employees_EmpId primary key(EmpId)

-----------------4.向姓名增加一個唯一約束-----------------
alter table Employees add
constraint UQ_Employees_EmpName unique(EmpName)

-----------------5.向姓名中增加一個非空約束--------------------
alter table Employees alter column EmpName
varchar(50) not null


-----------------6.刪除姓名中的唯一約束-------------------------------
alter table Employees drop constraint UQ_Employees_EmpName


--------------7.性別增加一個檢查約束,要求男或女,默認約束爲男--------
alter table Employees add constraint CK_Employees_EmpGender
check(EmpGender='男' or EmpGender='女')

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

-------------8.年齡增加一個檢查約束-----------------------------
alter table Employees add constraint CK_Employees_EmpAge
check(EmpAge>=18 and EmpAge<=60)

--------------9.Email增加一個唯一約束-------------------------
alter table Employees add constraint UQ_Employees_EmpEmail
unique(EmpEmail)

---------------10.增加一列-------------------------------
alter table Employees add EmpDepId int not null

----------------11.爲列增加外鍵約束-----------------------------
alter table Employees add constraint FK_Employees_EmpDepId
foreign key(EmpDepId) references Department(DepId)

---------------12.刪除約束--------------------------------------
alter table Employees drop constraint FK_Employees_EmpDepId

---------------13.增加級聯------------------------------------
alter table Employees add constraint FK_Employees_EmpDepId
foreign key(EmpDepId) references Department(DepId)
on delete cascade
on update cascade


-----------------------------14.通過一句話來刪除所有約束----------------
alter table Employees drop constraint FK_Employees_EmpDepId,
UQ_Employees_EmpEmail,CK_Employees_EmpAge

-----------------15.通過一句話來創建多個約束------------------------
alter table Employees add constraint FK_Employess_EmpDepId foreign
key(EmpDepId) references Department(DepId),constraint UQ_Employees_EmpEmail
unique(EmpEmail)

--------------------16.通過創建表來直接創建約束-------------------
create table Employees
(
 EmpId int identity(1,1) primary key,
 EmpName varchar(50) not null unique,
 EmpGender char(2) check(EmpGender='男' or EmpGender='女') default('男'),
 EmpAge int check(EmpAge>=18 and EmpAge<=60),
 EmpEmail varchar(100) unique,
 EmpAddress varchar(500) not null,
 EmpDepId int foreign key references Department(DepId)
)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章