MySQL/mysqlによる出力をcsvにする方法
の編集
Top
/
MySQL
/
mysqlによる出力をcsvにする方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * mysqlによる出力をcsvにする方法 [#g8df3d4e] mysqlコマンドでcsv出力する方法を以下に記します。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料 [#ia1fdbee] -[[コマンドラインからSQLを実行する方法>MySQL/コマンドラインからSQLを実行する方法]] * csv出力 [#w1d1f4f1] into outfile, ields terminated byを使用することによりCSV出力されます。 $ mysql -u root -p -s db1 Enter password: mysql> select * from t1; a b c 1 2 3 4 5 6 mysql> select * from t1 into outfile "/tmp/out.csv" fields terminated by ','; mysql> \q $ cat /tmp/out.csv 1,2,3 4,5,6 * ダブルクオートなどで囲みたい場合 [#s4a6a2ac] enclosed byを使用することにより値を囲む文字を指定することができます。 mysql> select * from t1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | +------+------+------+ 2 rows in set (0.00 sec) mysql> select * from t1 into outfile "/tmp/out.csv" fields terminated by ',' enclosed by '"'; Query OK, 2 rows affected (0.00 sec) $ cat /tmp/out.csv "1","2","3" "4","5","6" * 改行コードを指定したい場合 [#y62643d3] lines terminated byを使用することにより改行コードを指定することができます。 mysql> select * from t1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | +------+------+------+ 2 rows in set (0.00 sec) mysql> select * from t1 into outfile "/tmp/out_crlf.csv" fields terminated by ',' lines terminated by '\r\n'; Query OK, 2 rows affected (0.00 sec) mysql> select * from t1 into outfile "/tmp/out_lf.csv" fields terminated by ',' lines terminated by '\n'; Query OK, 2 rows affected (0.00 sec) 改行コードが0D0Aと0Aになっているのが確認できます。 $ hexdump -C out_crlf.csv 00000000 31 2c 32 2c 33 0d 0a 34 2c 35 2c 36 0d 0a |1,2,3..4,5,6..| 0000000e $ hexdump -C out_lf.csv 00000000 31 2c 32 2c 33 0a 34 2c 35 2c 36 0a |1,2,3.4,5,6.| 0000000c - hexdumpコマンドについては、以下のリンク記事を参照してください。 -[[逆引きUNIXコマンド/HEX形式でファイルを見たい・hexdumpコマンド>http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/HEX%E5%BD%A2%E5%BC%8F%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A6%8B%E3%81%9F%E3%81%84%E3%83%BBhexdump%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html]] #htmlinsertpcsp(db-btm.html,db-sp.html)
タイムスタンプを変更しない
#navi(../) * mysqlによる出力をcsvにする方法 [#g8df3d4e] mysqlコマンドでcsv出力する方法を以下に記します。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料 [#ia1fdbee] -[[コマンドラインからSQLを実行する方法>MySQL/コマンドラインからSQLを実行する方法]] * csv出力 [#w1d1f4f1] into outfile, ields terminated byを使用することによりCSV出力されます。 $ mysql -u root -p -s db1 Enter password: mysql> select * from t1; a b c 1 2 3 4 5 6 mysql> select * from t1 into outfile "/tmp/out.csv" fields terminated by ','; mysql> \q $ cat /tmp/out.csv 1,2,3 4,5,6 * ダブルクオートなどで囲みたい場合 [#s4a6a2ac] enclosed byを使用することにより値を囲む文字を指定することができます。 mysql> select * from t1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | +------+------+------+ 2 rows in set (0.00 sec) mysql> select * from t1 into outfile "/tmp/out.csv" fields terminated by ',' enclosed by '"'; Query OK, 2 rows affected (0.00 sec) $ cat /tmp/out.csv "1","2","3" "4","5","6" * 改行コードを指定したい場合 [#y62643d3] lines terminated byを使用することにより改行コードを指定することができます。 mysql> select * from t1; +------+------+------+ | a | b | c | +------+------+------+ | 1 | 2 | 3 | | 4 | 5 | 6 | +------+------+------+ 2 rows in set (0.00 sec) mysql> select * from t1 into outfile "/tmp/out_crlf.csv" fields terminated by ',' lines terminated by '\r\n'; Query OK, 2 rows affected (0.00 sec) mysql> select * from t1 into outfile "/tmp/out_lf.csv" fields terminated by ',' lines terminated by '\n'; Query OK, 2 rows affected (0.00 sec) 改行コードが0D0Aと0Aになっているのが確認できます。 $ hexdump -C out_crlf.csv 00000000 31 2c 32 2c 33 0d 0a 34 2c 35 2c 36 0d 0a |1,2,3..4,5,6..| 0000000e $ hexdump -C out_lf.csv 00000000 31 2c 32 2c 33 0a 34 2c 35 2c 36 0a |1,2,3.4,5,6.| 0000000c - hexdumpコマンドについては、以下のリンク記事を参照してください。 -[[逆引きUNIXコマンド/HEX形式でファイルを見たい・hexdumpコマンド>http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/HEX%E5%BD%A2%E5%BC%8F%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%A6%8B%E3%81%9F%E3%81%84%E3%83%BBhexdump%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.html]] #htmlinsertpcsp(db-btm.html,db-sp.html)
テキスト整形のルールを表示する