在MySQL中选择除了一个列之外的所有列?

31 浏览
0 Comments

在MySQL中选择除了一个列之外的所有列?

我正在尝试使用SELECT语句从某个MySQL表中获取除了一个之外的所有列。有简单的方法吗?

编辑:这个表中有53列(不是我设计的)

admin 更改状态以发布 2023年5月21日
0
0 Comments

(不要在大表上尝试这个操作,结果可能会...令人惊讶!)

临时表

DROP TABLE IF EXISTS temp_tb;
CREATE TEMPORARY TABLE ENGINE=MEMORY temp_tb SELECT * FROM orig_tb;
ALTER TABLE temp_tb DROP col_a, DROP col_f,DROP col_z;    #// MySQL
SELECT * FROM temp_tb;

不同数据库的DROP语法可能会有所不同 @Denis Rozhnev

0
0 Comments

其实有一种方法,当然需要有权限才能这样做...

SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), ',', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '' AND TABLE_SCHEMA = ''), ' FROM 
'); PREPARE stmt1 FROM @sql; EXECUTE stmt1;

替换

0