はじめに
DBでクエリー検索結果をCSV ファイルとして取得するときには、2つの方法がある。
DBの中からクエリーをすぐに入力して抽出することもでき、コンソールでコマンドとして抽出する方法もある。
DBがあるサーバーと同じサーバーにファイルを抽出しようとする場合、前者と後者の方法をすべて適用可能であるが、DBサーバーを別々に運用している場合は、1の方法は使用できない。 ファイルが接続サーバ側ではなく、DB側サーバに生成されるだろうからである。
単純にバックアップ目的のEXPORTなら、mysqldumpでエクスポートする方が簡単だ。
DB内からクエリとしてCSVを抽出する方法
SELECT col1, col2, col3 FROM MY TABLE
INTO OUTFILE '~/20190101.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
コンソールコマンドでDBからCSVを抽出する方法
mysql -u$USER -p$PASSWORD -D$DATABASE -e "select * from mytable" | tr '\t' ',' > '~/20190101.csv'