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 に答える