Steve08
V2EX  ›  程序员

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

By Steve08 at 2020 年 12 月 11 日 · 2996 次点击
比如一张表有超多字段,但是需要的字段是其中的大部分,又不想一个一个字段手动敲出来,能不能查除了那些不需要的字段外其它全部字段
6 条回复  •  2020-12-11 18:23:49 +08:00
l00t
   1
l00t  
   2020 年 12 月 11 日
不能。SQL 没这功能。建议用代码生成 SQL 的方式来实现少敲点字段的目的。
Cbdy
   2
Cbdy  
   2020 年 12 月 11 日   ❤️ 2
能,不过如果要用 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
   3
chaffy  
   2020 年 12 月 11 日
应该都有相应的系统表吧
goodboy95
   4
goodboy95  
   2020 年 12 月 11 日
这种时候我一般都直接 select *了,然后把不能提供出去的字段删了
GroupF
   5
GroupF  
   2020 年 12 月 11 日
我是从 Table info 中复制出表结构,拉进去 sublime 里面,alt 选取多行处理。。
zhuweiyou
   6
zhuweiyou  
   2020 年 12 月 11 日
我一般都是 先全部查出来 再把不要的干掉
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 38ms · 3.9.8.5