sql怎么样删除表中指定字段以外的所有字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql怎么样删除表中指定字段以外的所有字段相关的知识,希望对你有一定的参考价值。

专门写的 请采纳 要注意主键有约束 需要单独处理

ALTER TABLE 表名 DROP CONSTRAINT 默认约束名

其他的
USE 数据库名
DECLARE @columnname varchar(250)
DECLARE @sqltext varchar(250)

DECLARE curTbls CURSOR FOR

SELECT syscolumns.name FROM syscolumns,sysobjects WHERE syscolumns.id = sysobjects.id AND sysobjects.name = \'表名\' and syscolumns.name!=\'不想删除的列名\'

OPEN CurTbls
FETCH NEXT FROM curTbls INTO @columnname

WHILE @@FETCH_STATUS=0
BEGIN
SELECT @sqltext = \'alter table drop column COLUMN\' + @columnname
PRINT @sqltext
FETCH NEXT FROM curTbls INTO @columnname
END
CLOSE CurTbls
DEALLOCATE curTbls
参考技术A update gx set body=null

mongodb更新查询删除命令中指定的字段以外的所有数组字段

【中文标题】mongodb更新查询删除命令中指定的字段以外的所有数组字段【英文标题】:Mongodb Update Query Deletes All Array Fields Except Field Specified in Command 【发布时间】:2013-07-16 17:18:33 【问题描述】:

我正在使用 Node、MongoDB 和 Mongoose。我检查了 set 和 update 上的 MongoDB 文档。我已经用谷歌搜索了一个多小时,我发现了围绕我的问题跳舞的主题,但没有确定的。 下面的查询更新了正确的字段,但它也完全删除了数组中我没有指定的其他字段。

db.posts.update( 
   "_id" :  $exists : true   ,
   $set :  userCreated :  "time" : new ISODate("2013-07-11T03:34:54Z")   ,
  false,
  true
)

这是我要修改的架构部分:

,
userCreated: 
  id:  type: mongoose.Schema.Types.ObjectId, ref: 'User' ,
  name:  type: String, default: '' ,
  time:  type: Date, default: Date.now 
,

这就是结果:

,
"userCreated": 
  "time":  ISODate("2013-07-11T03:34:54Z") 
,

【问题讨论】:

【参考方案1】:

您可以使用点表示法更新userCreatedtime 属性并保留其他属性:

db.posts.update( 
   "_id" :  $exists : true   ,
   $set :  "userCreated.time" : new ISODate("2013-07-11T03:34:54Z")  ,
  false,
  true
)

【讨论】:

以上是关于sql怎么样删除表中指定字段以外的所有字段的主要内容,如果未能解决你的问题,请参考以下文章

mongodb更新查询删除命令中指定的字段以外的所有数组字段

数据的插入查询删除修改

oracle中替换字段中指定字符串的语句

SQL 修改字符串中指定字符

如何批量删除数据库中同一字段开头的表?

MYSQL表中新增字段指定位置,SQL语句该怎么写?