LOAD DATA INFILEのREPLACEキーワードを使えば、データベースをCSVファイルで一括更新できる

LOAD DATA INFILEのREPLACEキーワードを使えば、データベースをCSVファイルで一括更新できます。

まずはデータベースにログイン。

mysql --local-infile=1 -u username -p

–local-infile=1を指定してデータベースにログインしないとエラーが出る場合があります。

次に以下のクエリを発行。

LOAD DATA LOCAL INFILE '/PATH/test.csv' 
REPLACE 
INTO TABLE tbl_name 
FIELDS terminated BY ',' 
ENCLOSED BY '"' 
LINES terminated BY '\n';

REPLACEキーワードを指定することで、プライマリまたはユニークインデックスされたデータベースのIDとCSVのIDが同じであるとき既存のデータが置き換えられます。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください