mysqlのデータで既に登録されているデータを一括置換する方法をメモしておきます。
構文
UPDATE と REPLACE()の組み合わせにより一括置換が可能になります。
UPDATE テーブル名 SET カラム名 = REPLACE(カラム名,置換前文字列,置換後文字列) ;
例文
・userテーブル(一括置換前)
mysql> select * from user; +----+---------+ | id | user_id | +----+---------+ | 1 | hoge1 | | 2 | hoge2 | | 3 | hoge3 | | 4 | hoge4 | | 5 | hoge5 | +----+---------+ 5 rows in set (0.00 sec)
・user_idカラムの値「hoge」を「fuga」に一括置換する為にREPLACE()を使いUPDATEします。
UPDATE user SET user_id = REPLACE(user_id,"hoge","fuga") ; Query OK, 5 rows affected (0.30 sec) Rows matched: 5 Changed: 5 Warnings: 0
・userテーブル(一括置換後)
user_idの値「hoge」が「fuga」に置換されています。
mysql> select * from user; +----+---------+ | id | user_id | +----+---------+ | 1 | fuga1 | | 2 | fuga2 | | 3 | fuga3 | | 4 | fuga4 | | 5 | fuga5 | +----+---------+ 5 rows in set (0.00 sec)