在MySQL中选择除了一个列之外的所有列?
在MySQL中选择除了一个列之外的所有列?
我正在尝试使用SELECT语句从某个MySQL表中获取除了一个之外的所有列。有简单的方法吗?
编辑:这个表中有53列(不是我设计的)
admin 更改状态以发布 2023年5月21日
(不要在大表上尝试这个操作,结果可能会...令人惊讶!)
临时表
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
其实有一种方法,当然需要有权限才能这样做...
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;
替换
,
和