加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

MSSQL系列 (二):表相关操作、列操作、(唯一、主键、默认、检

发布时间:2020-12-12 12:39:59 所属栏目:MsSql教程 来源:网络整理
导读:1.创建表 -- 创建学生班级表 create table StuClass( ClassId int primary key , 班级ID 主键约束 ClassName nvarchar ( 30 ) not null unique ,1)">班级名称 非空约束 唯一约束 CreateDate datetime default getdate (),1)">创建时间 默认值约束 IsDelete 1

1.创建表

--创建学生班级表
create table StuClass
(
  ClassId int primary key,班级ID 主键约束
  ClassName nvarchar(30) not null unique,1)">班级名称 非空约束 唯一约束
  CreateDate datetime default getdate(),1)">创建时间 默认值约束
  IsDelete 1) 'N' 是否删除  默认'N'  'Y'代表删除'N'代表不删除 默认值约束
)
go

创建学生表
 Student
(
 StuId key identity(1,1),1)">学生ID 主键约束 自增长
 StuName null,1)">学生姓名 非空约束
 StuSex  2) check(stuSex=' or stuSex'),1)">学生性别 只是女或者男 检查约束
 CreateDate 创建时间 默认当前时间 默认值约束
 StuAge int,1)">学生年龄 无约束
 ClassId foreign key (ClassId) references StuClass (ClassId),1)">班级ID 外键
 IsDelete 是否删除  默认'N' 'Y'代表删除'N'代表不删除
创建学生科目表
 StuSubject(
  SubjectId 科目ID
  SubjectName 30),1)">科目名称
go


创建学生成绩表
 StuScore(
  StuId key (StuId) references Sutdent(StuId) on delete cascade,1)">学生ID 外键约束 同时支持级联删除
  SubjectId key (SubjectId) references StuSubject(SubjectId) 学生科目 外键约束
  StuScore float,1)">学生成绩 
  key(StuId,SubjectId) 联合主键
go

2.约束相关操作(添加、删除)

添加约束的另一种方式 注意:两种方式只能用一种
--添加主键约束
alter table StuScore add constraint PK_StuScore_StuId_SubjectId  key (StuId)
添加非空约束
column StuScore float null
添加检查约束
table StuInfo  constraint CK_StuInfo_StuSex check(StuSexor StuSex'添加唯一约束
table StuClass  constraint UQ_StuClass_ClassName unique(ClassName)
添加默认值约束
table StuClass constraint DF_StuClass_CreateDate default(getdate()) for CreateDate
添加外键约束
table StuInfo constraint FK_StuClass_StuInfo references StuClass(ClassId) cascade
删除单个约束
table StuScore  drop FK_StuClass_StuInfo
删除多个约束
drop constraint 
FK_StuClass_StuInfo,PK_StuScore_StuId_SubjectId
go

3.列相关操作

添加列
add  CreateDate getdate(); 
删除列删除列名的时候 如果存在约束 要删除约束
  DF__StuScore__Create__403A8C7D
column修改列字段类型
float
修改表名注意:更改对象名的任何部分都可能破坏脚本和存储过程,谨慎操作
exec sp_rename Student',StuInfo'
修改表中的列名StuInfo.CreateDateCreateTimecolumngo

4.删除表

删除表  注意当有主从表时候 先删从表 如果设置了联级删除 那么都会删除
if exists(select count(*) from sys.objects where nameStuScore StuScore
go

5.临时表相关操作

删除临时表
if object_id(tempdb..#StuInfo') is  #StuInfo
创建临时表
 #StuInfo
(
 StuId 学生年龄 无约束
 IsDelete '   是否删除  默认'N'  'Y'代表删除'N'代表不删除 默认值约束
)

?6.相关系统表

查询表、列、约束、索引信息

查询表、列、约束、索引信息
sp_help StuInfo

?

?

?查询字段信息

查询字段信息
sp_columns StuInfo

?

?注:个人微信公众号

个人QQ号

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读