SQL Server 2005 修改表结构

--为表添加具有默认值的一列
IF Not Exists(select * from syscolumns where [name]='website'
and OBJECTPROPERTY(id,'IsUserTable')=1 and object_name(id)='tbBrowser')
begin
Alter Table [tbBrowser] add [website] nvarchar(50) default('')
end 

--删除表中的一列在没有默认值约束的情况下删除
IF Exists(select * from syscolumns where [name]='website'
and OBJECTPROPERTY(id,'IsUserTable')=1 and object_name(id)='tbBrowser')
begin
Alter Table [tbBrowser] drop  COLUMN  [website]
end

--如果删除列存在默认值约束则首先删除约束再删除列
alter table [tbBrowser] DROP CONSTRAINT  DF__tbBrowser__websi__060DEAE8
--假如你不知道默认约束的名字 你可以直接运行删除表中的列,然后查看错误提示,就可找到约束名称,然后执行正常操作先删除默认约束

--也可使用系统自带的查询约束条件的存储过程,然后你就可以看到你需要删除的列的约束的名称
exec sp_helpconstraint [tbBrowser]

--表中添加的新列是否可以为空
alter table  table_name  add  column_name  data_type  NULL [not NULL]

--修改表中列的数据类型
ALTER TABLE table_name ALTER COLUMN column_name  new_data_type
--判断要添加列的表中是否有主键
if exists(select * from sysobjects where parent_obj=object_id('[tbBrowser]') and xtype='PK')
    begin
       print '表中已经有主键,列只能做为普通列添加'

       --添加int类型的列,默认值为0 不能为空
        alter table table_name add column_name int default 0  not null
    end
else
    begin
       print '表中无主键,添加主键列'

       --添加int类型的列,默认值为0主键自动不能为空
        alter table table_name add column_name int primary key default 0
    end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值