by shigemk2

当面は技術的なことしか書かない

mysqlのレコードをcsvに吐き出す

1. mysqldumpして、sqlファイルの中身をcsvファイルとして保存し、csvファイルを開く

mysqldump -u root pmmm > homu.sql

なんかもうSQL文を見つけるのがしんどいわ。

2. select文を発行して、出力結果をcsvぽく形を整えて、csvファイルを開く

selet * from nadeko;

結果のレコードをコンマ区切りとかにする。
でもこれも面倒だね。

3. selectの結果をそのままcsvファイルに吐き出す
MySQL CSVファイル入出力

こんな風に書くと、select文の結果を、囲み文字まで指定しつつ、そのまま
csvファイルに出力してくれるんDA☆ 便利だね☆

SELECT * FROM テーブル名 INTO OUTFILE "ファイル名" FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '囲み文字の指定';

実行例

select * from ide into outfile '/Users/shige/hoge/hoge.csv';

ただ注意点として、

  • 出力先のディレクトリに実行権限がないとめっ☆(Errcode 13)される
  • ファイル名については、きちんとフルパスを書かないとやはりめっ☆(Errcode 2)される('~/hoge.csv'とかは駄目)

ということでしょうか。
それだけ気をつけて楽しいcsvライフを送りましょう。