MySQLのSELECT結果をエクスポートする
MySQLからデータをエクスポートするとtsv形式になる。 オプションでCSVとかの形式も選べるのかと思っていたが、どうやらできなそう。
デフォルトのエクスポートだとtsv形式でファイルに出力される
echo "SELECT * FROM user" | mysql -uroot -p > data.tsv
csv形式にするには出力をsedで変換すれば一応できなくもない
echo "SELECT * FROM user" | mysql -uroot -p | sed 's/"/""/g;s/^/"/;s/$/"/;s/\n//g' > data.csv
ついでにzipにする
echo "SELECT * FROM user" | mysql -uroot -p | gzip -c > data.tsv.zip
csvファイルをzipする
echo "SELECT * FROM user" | mysql -uroot -p | sed 's/"/""/g;s/^/"/;s/$/"/;s/\n//g' | gzip -c > data.csv.zip