備忘録。
MySQLでselect結果をcsvファイルに出力します。
SELECT * FROM TEST_TABLE
INTO OUTFILE ‘/tmp/test.csv’
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY ‘”‘;
はい。これだけ。
吐き出す/tmpフォルダにちゃんと権限与えておけばOK。
やってる内容は言葉通り。
オプションの中身を変えれば、もちろんcsv以外の形式で出力することも可能です。
ただ、このままだと、カラムが出力されません。
カラムも出力したい時は、UNIONします!
例)
SELECT
ID
,NAME
,MAIL
,BODY
,DATE
UNION
SELECT * INTO OUTFILE ‘/tmp/test.csv’
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY ‘”‘ FROM TEST_TABLE;
こんな感じで、最初にカラムを全て付与してあげます。
もちろん、出力する内容を限る場合は、select * ではなく、必要なものだけにね。
てことで、これで、test.csvに必要なデータが出力できました。
お疲れ様でしたー!