(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コマンド便利!