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 Server中,要删除所有中指定,可以使用动态SQL来遍历所有并执行删除的操作。以下是一个示例脚本,展示了如何删除所有中名为"ColumnToDelete"的: ```sql DECLARE @table_name SYSNAME DECLARE @sql NVARCHAR(MAX) DECLARE table_cursor CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' OPEN table_cursor FETCH NEXT FROM table_cursor INTO @table_name WHILE @@FETCH_STATUS = 0 BEGIN -- 检查是否存在 IF EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @table_name AND COLUMN_NAME = 'ColumnToDelete' ) BEGIN SET @sql = 'ALTER TABLE [' + @table_name + '] DROP COLUMN [ColumnToDelete]' EXEC sp_executesql @sql PRINT 'Deleted column from table: ' + @table_name END FETCH NEXT FROM table_cursor INTO @table_name END CLOSE table_cursor DEALLOCATE table_cursor ``` 这个脚本的工作原理如下: 1. 声明变量来存储名和SQL语句。 2. 创建一个游标来遍历所有用户。 3. 对于每个,检查指定的是否存在。 4. 如果存在,使用ALTER TABLE语句删除。 5. 打印一条消息,确认已删除。 6. 关闭并释放游标。 使用此脚本时,请注意以下几点: - 在执行之前,请确保备份您的数据库,以防意外删除重要数据。 - 这个脚本会删除所有用户中的指定。如果您只想删除特定模式或特定类型的中的,您需要在WHERE子句中添加额外的条件。 - 如果在某些中是主键或被其他约束引用,您可能需要先删除这些约束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值