[SQL] 请问怎么查除某字段外其他字段

2020-12-11 10:16:05 +08:00
 qiyue0726
比如一张表有超多字段,但是需要的字段是其中的大部分,又不想一个一个字段手动敲出来,能不能查除了那些不需要的字段外其它全部字段
2081 次点击
所在节点    程序员
6 条回复
l00t
2020-12-11 10:28:35 +08:00
不能。SQL 没这功能。建议用代码生成 SQL 的方式来实现少敲点字段的目的。
Cbdy
2020-12-11 10:48:12 +08:00
能,不过如果要用 SQL 实现,不同数据库可能不太一样,我举个 MySQL 的例子

SELECT GROUP_CONCAT(col.COLUMN_NAME)
FROM information_schema.COLUMNS col
WHERE col.TABLE_SCHEMA = 'test'
AND col.TABLE_NAME = 'user'
AND COLUMN_NAME NOT IN ('created_at', 'updated_at')
INTO @cols;

SET @s = CONCAT('SELECT ', @cols, ' FROM test.user');

PREPARE stmt FROM @s;
EXECUTE stmt;
chaffy
2020-12-11 11:28:01 +08:00
应该都有相应的系统表吧
goodboy95
2020-12-11 11:57:38 +08:00
这种时候我一般都直接 select *了,然后把不能提供出去的字段删了
GroupF
2020-12-11 15:43:58 +08:00
我是从 Table info 中复制出表结构,拉进去 sublime 里面,alt 选取多行处理。。
zhuweiyou
2020-12-11 18:23:49 +08:00
我一般都是 先全部查出来 再把不要的干掉

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/734378

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX