昨日の方法は間違い
昨日はコマンドラインからローカルのMySQLにCSVファイルをインポートする方法を試しました。
「max_allowed_packet」を1MBから32MBに拡張して実行しました。
結果は失敗。
ファイルサイズが120MBとかあるの忘れてました(^^;
max_allowed_packet = 200M
として実行!
成功した!
と、思いやテーブルには何も入っていません(;_;)
調べてみると、SQL文が書かれた「*.sql」ファイル用のコマンドだったようです。
「source filepath」のコマンドは。
正しいコマンド
ちょっと探すと正しいコマンドが見つかりました。
【MySQL】CSVファイルをインポートするコマンド - Qiita
# TERMINATED BY 区切り文字
# ENCLOSED BY 囲み文字
LOAD DATA LOCAL INFILE '/tmp/import.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"'
だいぶん長いですが、確かにこのくらいはCSVからのインポートなら必要なのかも。
「LOAD DATA LOCAL INFILE」でファイルを指定して、「INTO TABLE」で対象テーブルを指定。
「IELDS TERMINATED BY ',' ENCLOSED BY '"'」の部分で区切り文字や囲み文字を明示。
このコマンドでMySQLにコマンドラインから実行すると・・・
大成功!
12万レコードのインポートに成功しました(^-^)w