我正在大幅修改我原来的问题。。。
这非常适合将表转储到第一行有字段名的CSV。
SELECT 'field1', 'field2', 'field3'
UNION SELECT * INTO OUTFILE '/var/tmp/table_name.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY 'n' FROM table_name;
然而,当你有数百个字段,并且不时添加新字段或更改或删除字段时,我需要一些动态的东西,它会动态地将字段名设置为上面的格式,这样这个查询就可以在脚本中随时工作,而不必手动更新字段名。
怎么样-
SELECT CONCAT(GROUP_CONCAT(COLUMN_NAME SEPARATOR ','), "n")
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'db' AND TABLE_NAME = 'tbl'
GROUP BY TABLE_NAME;
您可以将其输出传递到一个新文件,然后将来自outfile查询的数据附加到
cat /var/tmp/table_name.csv >> new_file