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 关联表名(列名(主键))
相关推荐
( •̀∀•́ )9202 天前
SQL Server 常用关键字与功能详解
sqlserver
敲敲敲-敲代码2 天前
【SQL实验】索引操作(菜单操作和命令操作)
数据库·sql·sqlserver
敲敲敲-敲代码2 天前
【SQL实验】视图操作(菜单操作和命令操作)
数据库·sql·sqlserver
雅冰石2 天前
sql server怎样用sql profiler捕获带变量值的慢sql
数据库·sqlserver
geovindu3 天前
python:reflection 反射
开发语言·python·sqlserver·架构
雅冰石3 天前
sql server查看当前正在执行的sql
数据库·sqlserver
woshilys4 天前
sql server index FORCESEEK
数据库·sqlserver
雅冰石5 天前
sql server怎样用扩展事件捕获带变量值的慢sql
数据库·sqlserver·扩展事件
woshilys9 天前
sql server 查看io资源使用
数据库·sqlserver
敲敲敲-敲代码12 天前
【SQL实验】高级查询(三)含附加数据库操作
数据库·sql·sqlserver