sql删除表的指定列的其它列

2025-01-03 00:11:33
推荐回答(4个)
回答1:

下面这段脚本可以写成存储过程了,楼主这点分真对不起这段脚本了,可以完美达到楼主要求:
declare @table nvarchar(50)='aa'
declare @c1 nvarchar(50)='id'
declare @c2 nvarchar(50)='stuname'
declare @cname nvarchar(4000)=''

set @cname = 'alter table '+@table+' drop '+ (SELECT ' column '+ name+',' FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = @table) and name <> @c1 and name <> @c2 FOR xml path(''))
select @cname
select @cname =LEFT(@cname,len(@cname)-1)
select @cname
EXEC sp_executesql @cname

最前面三个变量你可以改的

回答2:

先把两列取出来放入另一表table1中。select id,stuname into table1 from aa;
再删除aa。 drop table aa;
修改table1表名为aa。

回答3:

update

set
列=''
where

=
指定条件
这是条更新语句
把你要‘删除’的列只更新为没有值
如果要的不是这种效果请再补充

回答4:

直接编辑表结构啊,把不需要的列选中,删除,如果一定要用语句,可用!= 这个条件