1、修改字段名:
alter table 表名 rename column A to B
2、修改字段类型:
alter table 表名 alter column 字段名 type not null
3、修改字段默认值
alter table 表名 add default (0) for 字段名 with values
如果字段有默认值,则需要先删除字段的约束,在添加新的默认值,
select c.name from sysconstraints a
inner join syscolumns b on a.colid=b.colid
inner join sysobjects c on a.constid=c.id
where a.id=object_id('表名')
and b.name='字段名'
根据约束名称删除约束
alter table 表名 drop constraint 约束名
根据表名向字段中增加新的默认值
alter table 表名 add default (0) for 字段名 with values
更完整写法:
IF not EXISTS(select c.name from sysconstraints a inner join syscolumns b on a.colid=b.colid inner join sysobjects c on a.constid=c.id where a.id=object_id('mis_black_list') and b.name='IP' and c.name='DF_mis_black_list_IP') alter TABLE mis_black_list ADD CONSTRAINT [DF_mis_black_list_IP] DEFAULT ('0.0.0.0') FOR IP;
4、增加字段:
alter table 表名 add 字段名 type not null default 0
5、删除字段:
alter table 表名 drop column 字段名;
sql">-- 修改字段类型长度
alter TABLE userinfo
alter COLUMN name varchar(100);
-- 修改字段类型
alter TABLE userinfo alter COLUMN age float;
-- 修改字段不允许 NULL 值
alter TABLE userinfo alter COLUMN age float NOT NULL;
-- 添加主键
alter TABLE userinfo ADD CONSTRAINT id_name PRIMARY KEY(ID);
-- 修改字段名 (执行后会有提示:注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。)
exec sp_rename "userinfo.age","userage","COLUMN";
-- 添加字段名
alter TABLE userinfo ADD gender bit DEFAULT 0;
-- 删除表
drop TABLE userinfo;