ググればすぐ出てきますが、MySQLのデータを簡単にcsv(またはtsv)出力する方法のめもです。
出力
mysql> SELECT * FROM table_nameこれで、/tmp/out.csvというファイルに`table_name`テーブルのデータをカンマ区切りで出力できます。
INTO OUTFILE "/tmp/out.csv"
FIELDS TERMINATED BY ',';
タブ区切りで、各項目を`"(ダブルクォート)`で囲む場合は、
SELECT * FROM table_nameと、ENCLOSED BY '"' を追加します。
INTO OUTFILE "/tmp/out.csv"
FIELDS TERMINATED BY '\t'
ENCLOSED BY '"';
テーブルを結合した結果をcsv出力し、改行コードは`\r\n`にするには
SELECT * FROM table_nameと、LINES TERMINATED BY '\r\n'を追加します。
INNER JOIN join_table ON table_name.f_key = join_table.id
INTO OUTFILE "/tmp/out.csv"
FIELDS TERMINATED BY '\t'
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
次にデータを入力する方法です。
これはmysqldumpで取得したデータをリストアするより高速に動作します。(たぶん)
mysql> LOAD DATA INFILE "/tmp/in.csv"
FIELDS TERMINATED BY ',';
もちろんタブ区切りの場合は、
LOAD DATA INFILE "/tmp/in.csv"になります。
FIELDS TERMINATED BY '\t';
ダブルクォートや改行コードを指定してインポートする場合も、INTO OUTFILE構文のと同様です。
ただ、クライアントマシンとMySQLマシンが別サーバで接続されている場合は、
mysql> LOAD DATA LOCAL INFILE "/tmp/in.csv"と、`LOCAL`キーワードを指定します。
FIELDS TERMINATED BY ',';
出力する方法
入力する方法
以上でぇぇぇえぇす。
0 件のコメント:
コメントを投稿