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が同じであるとき既存のデータが置き換えられます。