RDS (MySQL) からファイル出力 (TSV,CSV) する
RDS (MySQL) からデータをTSVやCSVで出力する方法をメモしておきます。
様々な方法は存在しますが一例として。
まずは出力したいデータを抽出するSQLを作成し、ファイルに保存します。
CONCAT()関数を利用してダブルクオートで挟み込みます。
1 2 3 4 5 6 7 8 | SELECT CONCAT('"', field1, '"') AS field1, CONCAT('"', field2, '"') AS field2, CONCAT('"', field3, '"') AS field3, CONCAT('"', field4, '"') AS field4, CONCAT('"', field5, '"') AS field5 FROM user |
そのファイルの内容を展開させる形で実行し、結果を保存すればTSVファイルの完成です。
1 | mysql -u user_name -D database_name -p -h db.host.local -e "`cat extract.sql`" > result.tsv |
CSVが欲しければ、下記のようにタブをカンマに置換しましょう。
1 | mysql -u user_name -D database_name -p -h db.host.local -e "`cat extract.sql`" | sed -e 's/\t/,/g' > result.csv |
以上です。