SQL Server修改表结构

在SQL Server中修改的关键字是 ALTER(改变;(使)更改;修改(衣服使更合身);改动)

列操作

添加列

添加列操作

sql 复制代码
alter tabel 表名 add 列名 数据类型
sql 复制代码
--给员工表添加一个邮箱 alter的翻译是(改变)
alter table people add PeopleMail varchar(200);

运行成功后,在people表中可以看到多了一个名为PeopleMail的列

删除列

sql 复制代码
alter table 表名 drop column 列名
sql 复制代码
--删除刚刚添加的邮箱列
alter table People drop column PeopleMail

修改列的数据类型

sql 复制代码
alter table 表名 alter column 列名 数据类型
sql 复制代码
--修改PeopleAddress的varchar的长度由300变为200
--修改表People 修改列PeopleAddress
alter table people alter column PeopleAddress varchar(200)

修改后

修改列名

sql 复制代码
alter table 表名 rename column 列名 to 新的列名
sql 复制代码
alter table people rename column PeopleMail to QQemil

提示有语法错误 不知道为啥,有知道的好伙计可以在评论中告诉大家

约束操作

删除约束

sql 复制代码
alter table 表名 drop constraint 约束名

如果之前添加列的时候设置了约束名,就使用之前设置的

如果没有可以通过以下操作找到想修改字段的约束名

右键表--点击设计

然后会出来这样的界面
在空白处右键点击 check约束 检查约束

这里就是约束名称
(到这里好像手动直接删除也没差)

sql 复制代码
alter table people drop constraint CK__people__PeopleSa__4316F928

添加(表达式)约束

sql 复制代码
alter table 表名 add constraint 约束名称 check(表达式)
sql 复制代码
--添加约束 刚刚将薪水的那条约束删除了,这里将其添加起来
alter table people add constraint CK__people__PeopleSa1 check(PeopleSalary >=1000 and PeopleSalary <=10000000);

添加完成之后,在刚刚的页面check其约束也可以看到表达式和名称

添加(主键)约束

sql 复制代码
alter table 表名 add constraint 约束名 primary key(列名)

添加(唯一)约束

sql 复制代码
alter table 表名 add constraint 约束名 unique(列名)

添加(默认值)约束

sql 复制代码
alter table 表名 add constraint 约束名 default 默认值 for(列名)

添加(外键)约束

sql 复制代码
alter table 表名 add constraint 约束名 foreign key(列名) references 关联表名(列名(主键))
相关推荐
多云的夏天5 天前
MFC(1)-odbc-ado-调用mysql,sqlserver
mysql·sqlserver·mfc
weixin_464078079 天前
Sql Server数据迁移易错的地方
数据库·sqlserver
wangchen011210 天前
【docker】安装SQLServer
docker·容器·sqlserver·azuredatastudio
Marzlam10 天前
C# BULK INSERT导入大数据文件数据到SqlServer
sqlserver·c#
文盲老顾11 天前
使用 fn_dblog手动恢复误操作的 update(单列数值型数据恢复)
数据库·sqlserver·数据恢复·update·误操作·fn_dblog
qq_2979080111 天前
asp.net进销存软件WEB进销存ERP软件库存玻璃行业
sqlserver·c#·.net·开源软件
luckyext13 天前
SQLServer列转行操作及union all用法
运维·数据库·后端·sql·sqlserver·运维开发·mssql
liufangshun14 天前
【DeepSeekR1】怎样清除mssql的日志文件?
数据库·人工智能·sqlserver
明天 ~ ~18 天前
C#+EF+SqlServer性能优化笔记
sqlserver·性能优化·c#
计算机学姐19 天前
基于Asp.net的高校迎新管理系统
vue.js·vscode·后端·mysql·sqlserver·c#·asp.net