2014年2月12日水曜日

MysqlのデータをCSVファイルに出力する

MYSQLのデータをCSVファイルに出力しようとしたとき、オーソドックスなやり方はというと。

mysqlに接続したあとに、以下のコマンドでOKです。

SELECT col1, col2, FROM tbl INTO OUTFILE 'hoge.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';

こうすると、hoge.csvは、mysqlのワーキングディレクトリ(?)に出力されます。


/var/lib/mysql/・・・
 …みたいなところ。

自分が神である環境であれば、これでいいのですが、常に/var/libあたりのファイルが扱えるとも限らない。
そんなときは、コマンドラインで…

mysql aa127w0a9d -e "SELECT col1, col2, FROM tbl " | sed -e 's/\t/,/g'  >  hoge.csv

・・・とすれば、切り抜けれそうです。

SELECT ふにゃらら INTO OUTFILE という文そのものが、システム管理者向けということですかね。


0 件のコメント:

コメントを投稿