最近因为项目中要涉及到更改表中的字段,在上线前夕,经理要求整理一份全面的SQL脚本,在汇总同事更改的SQL 脚本中,我自己也是一个学习,将自己以前没用到过的脚本做一个整理。
1.--删除表中字段
alter table WeeklySummary drop column YearID; (注意:WeeklySummary 是我的表名,YearID是我要删除的字段名;以下同理)
2.--更改表中字段Remark的长度
alter table WeeklySummary alter column Remark varchar(max)
3.-- 修改列名的语法:EXEC sp_rename ‘[原有列名]’, ‘[新列名]' , 'COLUMN';
列如:--修改InTeamCondition中的字段HBSAG为'YiGanBiaoMianKangYuan(HBSAG)'
EXEC sp_rename 'SR_InTeamCondition.HBSAG','YiGanBiaoMianKangYuan(HBSAG)'
4.要删除表中的外键约束,我采取的方法是,先查询出来外键的名称,在删除外键约束;
语法如下:
--查询外键约束的名称
select name
from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id
where f.parent_object_id=object_id('表名')
--删除表中的外面约束
alter table 表名 drop constraint 外键约束名称(就是上面Select 查询出来的数据)
示例:
--查询dbo.TeachingRG表中的外键
select name
from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id
where f.parent_object_id=object_id('dbo.TeachingRG')
--删除dbo.TeachingRG表中的外键
alter table dbo.TeachingRG drop constraint FK_TeachingRG_course
5.删除表的主键
我采用的和删除外键的方法是相同的。
语法:
--查看表中的主键
SELECT Table_Name,Column_Name FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME='表名'
--删除主键的语法:
alter table 表名 drop constraint 主键约束名
具体操作示例:
--查看Logistics_VehicleInfo表中的主键
SELECT Table_Name,Column_Name FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME='Logistics_VehicleInfo'
--删除主键
alter table Logistics_VehicleInfo drop constraint PK_VehicleInfo
--一条语句,实现先查询,在修改(统计次数,在原有的数字的基础上+1)
MERGE INTO WS_SystemInfo ot USING (select a.* from WS_SystemInfo a) nt ON (ot.id = nt.id) WHEN MATCHED THEN UPDATE SET ot.APIVisits = ot.APIVisits +1;
以上就是我的整理,自己做一个记录,因为好记性不如烂笔头,还是记下来比较好。也希望能帮到看到文章的你吧。