百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

SQL Server中用T-SQL语句实现(建表、键约束、建关系)

wuantov 2025-07-24 22:36 6 浏览

本文将会用T-SQL 语句实现建表、建约束、建关系。

一. 对表进行操作

1.1 创建表

--使用 create table 语句创建表

语法:

create table 表名(字段 数据类型 约束)

例如:

create table Student(

StudentId int ,--学生编号

StudenName varchar(50)--学生姓名

)

————————————————

1.2 删除表

--使用 drop table 删除表

--注意事项:删除表时,如果有主外建关系,必须先主表,在删除从表

语法:

drop table 表名--删除一个表

例如:

drop table Student

语法:

drop table 表名,表名...--删除多个表

例如:

drop table Result,Student

————————————————

1.3 修改表

--使用 alter table 修改表

--注意事项: []中括号中的内容可以不写

1.添加字段

语法:

alter table 表名

add 字段名 数据类型 [约束(非空)]

例如:

alter table Student

add Sex char(2) not null--修改字段的数据类型和非空约束

2.添加约束

语法:

alter table 表名

add constraint 约束命名 约束类型(约束内容)

例如:

alter table Student

add constraint PK_Student_id primary key(Id)--添加主键约束

3.删除约束

语法:

alter table 表名

drop constraint 约束名

例如:

alter table Student

drop constraint PK_Student_id--删除主键约束

4.删除列

语法:

alter table 表名

drop column 列名

例如:

alter table Student

drop column StudentId--删除 StudentId列

5.修改列

语法:

alter table 表名

alter column 列名 数据类型

咧如:

alter table Student

alter column StudentId nvarchar(50)--修改 StudentId列数据类型为 nvarchar(50)

————————————————

1.4 添加约束

--创建时 create

1. 主键约束primary key--最好在修改时添加 可以自己起名字 删除时方便

2. 检查约束check(具体条件)--最好在修改时添加 可以自己起名字 删除时方便

3. 默认约束default '写入默认值'--最好在修改时添加 可以自己起名字 删除时方便

4. 唯一约束unique--最好在修改时添加 可以自己起名字 删除时方便

5. 外键约束foreign key references 表名(字段) --最好在修改时添加 可以自己起名字 删除时方便

6. 非空 not null--最好创建时添加上

7. 标识列 identity(种子,增值) --最好创建时添加上

--修改时 alter

1. 主键约束constraint primary key(具体字段)

2. 检查约束constraint check(具体条件)

3. 默认约束constraint default ('文本、日期' 数字) for 列名

4. 唯一约束constraint unique(列名)

5. 外键约束constraint foreign key(字段) references 表名(字段)

6. 非空 alter 字段 类型 not null

--约束命名规范

1. 主键约束PK_表名_列名

2. 检查约束CK_表名_列名

3. 默认约束DF_表名_列名

4. 唯一约束UQ_表名_列名

5. 外键约束FK_表名_列名


/*

* 注意事项: 1.日期类型需要单引号括起来,数字类型不需要

* 2.创建表时添加约束,系统会自动分配名字

* 3.修改时添加约束,可以自定义名字

* 4.修改时创建主键约束,必须有非空约束

* 5.如果创建时没添加非空约束,可以通过 alter column 列名 数据类型 非空(约束) 修改

*/

--创建时添加约束

语法:

create table 表名(

字段 数据类型 约束,

字段 数据类型 约束,

...

)

例如:

create table Student(

StudentNo int primary key,--学生编号主键约束

StudentName varchar(50) not null,--学生姓名非空约束

LoginPwd varchar(255) check(len(LoginPwd)>=6)--密码检查约束

GradeIdint identity,--年级标识列 种子1,增量1

Subject int foreign key references Subject(id)--科目外键约束

Phone varchar(50) unique,--联系电话唯一约束

Address varchar(255) default('学生宿舍')--现住址默认值约束

--修改时添加约束

语法:

alter table 表名

add constraint 约束命名 约束类型(约束内容),

constraint 约束命名 约束类型(约束内容),

....

)

例如:

alter table Student

add constraint PK_Student_StudentId primary key(Id),--学生编号主键

constraint CK_Student_Pwd check(len(LoginPwd)>=6),--密码检查约束

constraint UQ_Student_GradeId unique(GradeId),--联系电话唯一约束

constraint DF_Student_Address default('学生宿舍') for Address,--现住址默认值约束

constraint FK_Student_SubjectId foreign key(SubjectId) references Subject(SubjectId)--科目外键约束


————————————————

版权声明:本文为CSDN博主「自学之路←_←」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:
https://blog.csdn.net/qq_43636251/article/details/105474457


相关推荐

SQL关联各种JOIN傻傻分不清楚,读这一篇就够了

在关系型数据库中支持多表关联,不同场景下通过不同join方式让分布在不同表中的数据呈现在同一个结果里。熟练使用sql联合查询是日常开发的基础工作。为了方便演示讲解,假设有两个表,一张是保存学生踢足球的...

MyBatis的SQL执行流程不清楚?看完这一篇就够了

推荐学习真香警告!Alibaba珍藏版mybatis手写文档,刷起来全网独家的“MySQL高级知识”集合,骨灰级收藏,手慢则无前言MyBatis可能很多人都一直在用,但是MyBatis的SQL执行...

SQL优化这十条,面试的时候你都答对了吗?

尽量不要在要给在SQL语句的where子句中使用函数,这样会使索引失效。如果已经确定查询结果只有一条数据(当表中数据的该字段是唯一的),在查询SQL末尾增加limit1,这样MySQL的查询执行引...

SQL查询Excel结果数据还可这样输出到窗体控件ListBox和ListView

上一期作品,我们分享了通过SQL查询Excel的结果数据输出到Excel自身的工作表区域。大家估计应该感觉到了SQL查询的强大功能,它对精确或模糊查询均无畏惧,优点是查询检索效率高,将查询结果输出的形...

数据库|SQLServer数据库:模糊查询的三种情况

哈喽,你好啊,我是雷工!就是字面意思,当数据库的查询条件并不是十分具体时就用到模糊查询,比如查询姓氏为雷的人名,就需要从姓名列模糊查询。01like关键字查询当使用like关键字进行查询时,字段中的...

数据库教程-SQL Server多条件模糊查询

表单查询是以数据存储管理为基础的信息管理系统各业务功能实现的基础,也是数据库CRUD操作的重点与难点,尤其是多表连接查询、条件查询、分组查询、聚合函数等的综合应用。本文以某一比赛样式要求为基础,对数据...

如何利用教育网站源码成功搭建在线教育网站

如今是一个信息化时代,人们都想接受各种各样的教育,在线教育也就因此发展了起来,并且逐渐成为了一种趋势。而成熟的在线教育网站皆是由高质量的教育网站源码搭建而成的。如何利用教育网站源码成功搭建在线教育网站...

宝塔搭建WordPress跨境电商外贸商城模板汉化woodmart7.5.1源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的WoodmartV7.5.1汉化主题|跨境电商|外贸商城|产品展示网站模板WordPress主题,是wordpress开发的。上次是谁要的系...

小狐狸ChatGPT付费创作系统V2.4.7全开源版 (vue全开源端)

测试环境:Nginx1.20+PHP7.4+MySQL5.7本版本为官方的最新开源包对应V2.4.7版本,包含了前后端所有开源包,是目前最新全开源版本,需要二开的这部分朋友也有选择了,如果不需要二...

php宝塔搭建部署thinkphp红色大气装修公司官网php源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的thinkphp红色大气装修公司官网源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测...

php宝塔搭建免登录积分商城系统php源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的免登录积分商城系统php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下,部...

零代码搭建接口收费平台——接口大师YesApi

主流的API接口收费模式目前各大API接口平台,采用的收费模式主可以分为:免费接口、免费试用、接口流量套餐、先充值后按量计费的模式。例如,聚合数据的API收费模式是:按接口流量套餐。例如身份证二要素...

php宝塔搭建部署实战抽奖系统开源php源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套抽奖系统开源php源码。感兴趣的朋友可以自行下载学习。技术架构PHP5.4+nginx+mysql5.7+JS+CSS+...

【推荐】一款开源个人与企业私有化部署使用的在线知识库管理平台

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍zyplayer-doc是一款基于Java+Vue开源、专注于个人与企业私有化部署使用的在线知识库管...

网上的付费文档无法下载?这几个方法10秒搞定,任意免费复制

工作或者学习过程中,我们很多时候需要在网上找资料,但是想要的资料却要付费或者提示无法下载怎么办?别怕,这几个方法,让你10秒就能搞定付费文档,任意复制。1.打印界面复制遇到文档需要付费或者无法复制的...