【SQL server】创建表,增删改,约束(数据完整性)

-- 创建表
create table class
(classno nvarchar(8) not null , --不允许为空值
classname nvarchar(20) not null)
go

-- 增加列ope,clo
alter table course
add  ope datetime null, clo nvarchar(8) null
go

--删除列ope,clo
alter table course
drop column ope,clo
go

-- 修改某个列名(旧名,新名)
sp_rename 'course.cno','course.couno','column'
go

--重新命名表的名字
EXEC sp_rename 'course','cou'
go

-- 插入数据
insert into cou values('01','ma')

select * from cou

-- 删除表
drop table cou
go

-- 创建一个临时表
create table #t1
(couno nvarchar(6),coname nvarchar(6))
go
insert into #t1 values('006','lo')
go
select * from #t1
insert #t1 select sno,sname from stu
go


--直接将结果集数据输入到临时表#ti,并创建该临时表
select sno,sname into #ti from stu
go
select * from #ti

--定义表变量
declare @t
table(sno nvarchar(4),sname nvarchar(8))
-- 向表变量中输入数据,方式1
insert into @t values('004','ln')
-- 向表变量输入数据,方式2
insert @t select sno,sname from stu 

create table Department
(departno varchar(8) not null,
departname varchar(20))
go

--创建主键约束PK_Department为departno
alter table Department
add constraint PK_Department PRIMARY KEY(departno)
go

--删除表
drop table Department


-- 创建表的同时,创建主键
CREATE TABLE Depart
(departno nvarchar(8) not null,
departname nvarchar(8) not null,
constraint PK_Department PRIMARY KEY (departno))
go

-- 使用ALTER TABLE...DROP CONSTRAINT ...删除主键约束
ALTER TABLE Department
DROP CONSTRAINT PK_Department
go

alter table class
add departno varchar(8)

--对表class创建外键约束,基于departno,要求departno是Department表的主键
ALTER TABLE class
ADD CONSTRAINT FK_Depart FOREIGN KEY(departno)
REFERENCES Department(departno)
go 

--删除外键约束
ALTER TABLE class
DROP CONSTRAINT FK_Deaprt
go

--创建唯一约束,唯一约束与主键约束不同之处:唯一约束可以取空值,但是主键约束不可
ALTER TABLE class
ADD CONSTRAINT UN_classno UNIQUE(classno)
go

--删除唯一约束
ALTER TABLE class
DROP CONSTRAINT UN_classno
go 

-- 约束表class中的classno列值只能取3位数,并且不可以取3个0
ALTER TABLE class
ADD CONSTRAINT CK_class check(classno like '[0-9][0-9][0-9]'
AND classno <> '000')
go

--删除上述check约束
ALTER TABLE class
drop constraint CK_class 
go

-- 默认约束,设置默认值
ALTER TABLE class
ADD CONSTRAINT DE_classname DEFAULT('NAME') FOR classname
go
--删除默认约束
ALTER TABLE class
DROP CONSTRAINT DE_classname
go

--设置默认约束的方法2,先创建,后绑定使用
CREATE DEFAULT DE_classname as 'name'
go
EXEC sp_bindefault DE_classname,'class.classname'
go
--删除,需要先删除绑定,后删除默认值
sp_unbindefault 'class.classname'
drop DEFAULT DE_classname

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值