我正在修改我原来的问题......
这非常适合将表格转储为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;
但是,当你有数百个字段添加新字段或者不时更改或删除字段时,我需要一些动态的东西,它会将字段名称置于上面的格式中,以便此查询可以随时在脚本中使用无需手动手动更新字段名称。
答案 0 :(得分: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