3

我正在显着修改我原来的问题......

这非常适合将您的表格转储到具有第一行字段名称的 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;

但是,当您有数百个字段并且不时添加新字段或更改或删除字段时,我需要一些动态的东西,它将字段名称动态地放在上面的格式中,这样这个查询就可以随时在脚本中工作,而不必手动更新字段名称。

4

1 回答 1

11

怎么样 -

SELECT CONCAT(GROUP_CONCAT(COLUMN_NAME SEPARATOR ','), "\n")
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'db' AND TABLE_NAME = 'tbl'
GROUP BY TABLE_NAME;

您可以将其输出传递给 new_file,然后附加来自 outfile 查询的数据 -

cat /var/tmp/table_name.csv >> new_file
于 2012-03-27T13:06:01.310 回答