(MYSQL) データのimport・export

データ量が多い場合は「csv」形式のテキストファイルを使う。

1.ファイルの import

  • ファイルからデータを読み込む
LOAD DATE INFILE 'ファイル名' INTO TABLE テーブル名 オプションの記述;
  • オプションの記述
FIELDS TERMINATED BY 区切り文字(デフォルトは'\t':タブ)
LINES TERMINATED BY 改行文字(デフォルトは'\n':改行)
IGNORE 最初にスキップする行 LINES (デフォルトは0)

(ex)
LOAD DATE INFILE '~/data/hoge.csv' INTO TABLE tb1 FIELDS TERMINATED BY ',';

2.ファイルの export
データ集計のときとか?

  • データをテキストファイルに書き出す
SELECT * INTO OUTFILE 'ファイル名' 上記のオプションの記述 FROM テーブル名;

(ex)
SELECT * INTO OUTFILE '~/data/hoge.csv' FIELDS TERMINATED BY ',' FROM tb1;

TYPE ~/data/hoge.csv
1,apple
2,banana 3,grape

3.sqlコマンドのimport

複雑で長いsql文を実行するとき、いちいちmysqlモニタで記述するのは大変(.><)

  • sql文が保存されたテキストファイルを実行する
SOURCE テキストファイル名  

(ex) sql.txt
INSERT INTO TABLE ... UPDATE TABLE SET ...
SELECT * FROM TABLE ...

SOURCE sql.txt

INSERT INTO TABLE ... ←実行
UPDATE TABLE SET ... ←実行
SELECT * FROM TABLE ... ←実行

☆何回も作ることになるテーブルor複雑なテーブルはSOURCEコマンド便利!