SqlServer提高篇(一)

下面那我们说说SqlServer提高篇的操作,包括列的增删改查和约束,主外键等

创建两个表:

create table Employees(
EmpId int identity(1,1) primary key,
EmpName varchar(50),
EmpGender char(2),
EmpAge int,
EmpEmail varchar(20),
EmpAddress varchar(500),
EmpDepId int

)


create table Department(
DepId int identity(1,1) ,
DepName  varchar(50)
)

列的操作:

--------删除一列
alter table Employees drop column EmpAddress
-----------增加一列
alter table Employees add EmpAddress nvarchar(1000)
-----------修改一列数据类型
alter table Employees alter column EmpEmail varchar(100)

增加主外键:

----------为部门表增加主键
alter table Department add constraint PK_Department_DepId primary key(DepId)
---------增加外键约束,级联约束
alter table Employees add constraint FK_Department_Department
 foreign key(EmpDepId) references Department(DepId) on delete cascade

检查约束:

-----------增加一个检查约束,比如性别只能为男或女
alter table Employees add constraint CK_Employees_EmpGender check(EmpGender = '男' or EmpGender='女')
-----------增加检查约束,年龄只能在0-150岁之间
alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=150)

列增加默认值:

-----------增加默认值
alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender

增加唯一约束:

----------增加唯一约束
alter table Employees add constraint UQ_Employees_EmpName unique(EmpName)

增加唯一约束:

----------增加非空约束,实际就是修改列
alter table Employees alter column EmpName varchar(50) not null

删除约束:

----------删除约束
alter table Employees drop constraint DF_Employees_EmpGender,CK_Employees_EmpAge

增加多条约束:

--------增加多条约束
alter table Employees add constraint CK_Employees_EmpGender check(EmpGender = '男' or EmpGender='女'),
constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=150),
constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=150)

最后,在创建表的时候直接增加约束:

----------------创建表的时候,直接添加约束
create table Employees(
EmpId int identity(1,1) primary key,
EmpName varchar(50) check(len(EmpName)>=2 and len(EmpName)<=25) not null unique,
EmpGender char(2) check(EmpGender ='男' or EmpGender ='女') default('男') not null,
EmpAge int check(EmpAge>=0 and EmpAge<=150),
EmpEmail varchar(20) unique,
EmpAddress varchar(500),
EmpDepId int foreign key references  Department(DepId) on delete cascade

)

create table Department(
DepId int identity(1,1) primary key ,
DepName  varchar(50)
)


猜你喜欢

转载自blog.csdn.net/QWQWdf/article/details/80382596
今日推荐