sql添加、删除表中的列

添加没有默认值:alter table Test add BazaarType char(1)

有默认值的添加列:alter table Test add BazaarType char(1) default(0)

删除没有默认值的列:alter table Test drop COLUMN BazaarType

删除有默认值的列:先删除约束(默认值)alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F,然后在删除列
alter table Test DROP COLUMN BazaarType

系统自带的查询约束条件的存储过程:exec sp_helpconstraint 表名

添加字段:
允许空字符: alter table 表名 add 新字段 字段类型 NULL

不允许空字符: alter table 表名 add 新字段 字段类型 not NULL

例如:
alter table docdsp add dspcode char(200)
删除字段 例如:
ALTER TABLE table_NAME DROP COLUMN column_NAME
修改字段类型 例如
ALTER TABLE table_name ALTER COLUMN column_name new_data_type
改名
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

语法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]

--假设要处理的表名为: tb

--判断要添加列的表中是否有主键
if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK')
begin
print '表中已经有主键,列只能做为普通列添加'

--添加int类型的列,默认值为0
alter table tb add 列名 int default 0
end
else
begin
print '表中无主键,添加主键列'

--添加int类型的列,默认值为0
table tb add 列名 int primary key default 0
end

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(sql)