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 关联表名(列名(主键))
相关推荐
NaZiMeKiY8 小时前
SQLServer数据分页
数据库·sql·sqlserver
zxrhhm14 小时前
SQLServer TOP(Transact-SQL)
sql·sqlserver
J总裁的小芒果3 天前
Mysql SqlServer 分页
数据库·mysql·sqlserver
初九之潜龙勿用4 天前
MS SQL Server 实战 排查多列之间的值是否重复
大数据·数据库·sql·sqlserver·微软
Jeakjava6 天前
SQL Server性能优化之读写分离
数据库·sql·sqlserver·性能优化
一心只为学6 天前
SQL server 日常运维命令
运维·数据库·sqlserver
暖锋丫8 天前
Sqlserver常用sql
数据库·sql·sqlserver
凯酱12 天前
在 sql server 数据库中,查询数据库的占用的空间大小和数据库中各表的占用大小
数据库·sqlserver
woshilys13 天前
sql server 用户信息查询
sqlserver
Commas.KM13 天前
【数据库|第11期】深入掌握 SQL Server、Access 与 SQLite 中的 `UNION` 与 `UNION ALL`:从理论到实践
数据库·sqlserver·sqlite·union·union all·access·数据联合