目录
1. SQL Server修改表结构
1.1 添加字段
ALTER TABLE 表名 ADD 新增字段名 字段类型 默认值;
ALTER TABLE TESTTABLE ADD TESTCOLUMN INT DEFAULT 0;
1.2 删除字段
如果字段设置了默认值,会报错“由于一个或多个对象访问此列,ALTER TABLE DROP COLUMN失败。”,此时需要先删除字段的默认值约束。
ALTER TABLE 表名 DROP COLUMN 字段名;
ALTER TABLE TESTTABLE DROP COLUMN TESTCOLUMN;
1.3 删除字段约束或键
ALTER TABLE 表名 DROP CONSTRAINT 约束名或键名;
ALTER TABLE TESTTABLE DROP CONSTRAINT DF__TESTTABLE__TESTCOLUMN__7AD3CDD7;
1.4 修改字段类型
ALTER TABLE 表名 ALTER COLUMN 字段名 字段类型;
ALTER TABLE TESTTABLE ALTER COLUMN TESTCOLUMN VARCHAR(10);
1.5 修改字段名
EXEC SP_RENAME '表名.原字段名','新字段名';
EXEC SP_RENAME 'TESTTABLE.TESTCOLUMN','TESTCOLUMN1';
注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
1.6 修改表名
EXEC SP_RENAME '原表名','新表名';
EXEC SP_RENAME 'TESTTABLE','TESTTABLE1';
2. 表和字段注释说明
2.1 添加表注释说明
EXECUTE SP_ADDEXTENDEDPROPERTY N'MS_Description', N'表注释说明', N'SCHEMA', N'DBO',N'TABLE', N'表名', NULL, NULL;
EXECUTE SP_ADDEXTENDEDPROPERTY N'MS_Description', N'测试表', N'SCHEMA', N'DBO',N'TABLE', N'TESTTABLE', NULL, NULL;
2.2 修改表注释说明
EXECUTE SP_UPDATEEXTENDEDPROPERTY 'MS_Description','修改表注释说明','SCHEMA','DBO','TABLE','表名',NULL,NULL;
EXECUTE SP_UPDATEEXTENDEDPROPERTY 'MS_Description','测试表1','SCHEMA','DBO','TABLE','TESTTABLE',NULL,NULL;
2.3 删除表注释说明
EXECUTE SP_DROPEXTENDEDPROPERTY 'MS_Description','SCHEMA','DBO','TABLE','表名',NULL,NULL;
EXECUTE SP_DROPEXTENDEDPROPERTY 'MS_Description','SCHEMA','DBO','TABLE','TESTTABLE',NULL,NULL;
2.4 添加字段注释说明
EXECUTE SP_ADDEXTENDEDPROPERTY N'MS_Description', '需要注释的内容', N'SCHEMA', N'DBO', N'TABLE', N'表名', N'COLUMN', N'字段名';
EXECUTE SP_ADDEXTENDEDPROPERTY N'MS_Description', '测试字段', N'SCHEMA', N'DBO', N'TABLE', N'TESTTABLE', N'COLUMN', N'TESTCOLUMN';
2.5 修改字段注释说明
EXECUTE SP_UPDATEEXTENDEDPROPERTY 'MS_Description', '修改注释的内容','SCHEMA','DBO','TABLE','表名','COLUMN','字段名';
EXECUTE SP_UPDATEEXTENDEDPROPERTY 'MS_Description', '测试字段123','SCHEMA','DBO','TABLE','TESTTABLE','COLUMN','TESTCOLUMN';
2.6 删除字段注释说明
EXECUTE SP_DROPEXTENDEDPROPERTY 'MS_Description','SCHEMA','DBO','TABLE','表名','COLUMN','字段名';
EXECUTE SP_DROPEXTENDEDPROPERTY 'MS_Description','SCHEMA','DBO','TABLE','TESTTABLE','COLUMN','TESTCOLUMN';