比如一张表有超多字段,但是需要的字段是其中的大部分,又不想一个一个字段手动敲出来,能不能查除了那些不需要的字段外其它全部字段
1
l00t Dec 11, 2020
不能。SQL 没这功能。建议用代码生成 SQL 的方式来实现少敲点字段的目的。
|
2
Cbdy Dec 11, 2020 能,不过如果要用 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; |
3
chaffy Dec 11, 2020
应该都有相应的系统表吧
|
4
goodboy95 Dec 11, 2020
这种时候我一般都直接 select *了,然后把不能提供出去的字段删了
|
5
GroupF Dec 11, 2020
我是从 Table info 中复制出表结构,拉进去 sublime 里面,alt 选取多行处理。。
|
6
zhuweiyou Dec 11, 2020
我一般都是 先全部查出来 再把不要的干掉
|