テーブルの内容をテキストに書き出す方法
MySQLでテーブルのデータをテキストにエクスポートする場合、ターミナルからコマンドラインでやる方法とCUIから出力するのと2種類方法があります。
ターミナルからやる
ターミナルからやるとTSV形式になるけどカラムヘッダが出力されるのでデータを渡したりエクセルとかに取り込んで何か加工する時に何かと都合がいいけど、テーブルサイズによっては落ちちゃう。select * from `fuga` into outfile "/tmp/abc.csv" fields terminated by ',';
CUIだと区切り文字が選べるけどヘッダが吐き出せないので、後でどのカラムが何のデータだったかわかんなくなる可能性がある、でもサイズが大きくてもちゃんと書きだしてくれる。
どっちも一長一短があるけど、とりあえずCUIでヘッダを吐き出す方法を考えた。
何か他にいい方法ないですかねぇ。select id1,id2,id3,... from (select "id1","id2","id3",... union select id1,id2,id3 from fuga) as a into outfile "/tmp/abc.csv" fields terminated by ',';
追記
最後のやつだと一回一時領域にデータをコピーするのですごく遅い