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 关联表名(列名(主键))
相关推荐
woshilys1 天前
sql server 查询对象的修改时间
运维·数据库·sqlserver
一个程序员_zhangzhen2 天前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver
woshilys2 天前
sql server 备份恢复
数据库·sqlserver
CodeCraft Studio2 天前
【实用技能】如何在 SQL Server 中处理 Null 或空值?
数据库·oracle·sqlserver
woshilys4 天前
SQL Server 中对网络数据库文件的支持说明
数据库·sqlserver
woshilys4 天前
sql server msdb数据库备份恢复
数据库·sqlserver
一种天气8 天前
SQLServer利用QQ邮箱做SMTP服务器发邮件
服务器·数据库·sqlserver
woshilys9 天前
sql server 存储过程跟踪
数据库·sqlserver
zhlh_xt9 天前
Python 助力 DBA:高效批量管理数据库服务器的多线程解决方案-多库查询汇总工具实现
数据库·python·sqlserver·dba·dba 自动化工具
罗伯特_十三12 天前
SQL Server 中,`timestamp` 和 `rowversion`类型特性
数据库·sqlserver