MySQL:特定の文字列を別の文字列に置換する方法

MySQL
MySQLでデータの一部分から特定の文字列を見つけて別の文字列に一括して返還したい場合には、「REPLACE関数」を使う。

簡単だけど、一応覚書しておく。

文字列置換のSQL文の例

例えば、テーブル”t”のテキストフィールド”f1″に保存されているデータの中から”TEST”という文字列を見つけて、それを”テスト”に変更したい場合の記述は以下のようになる。

REPLACE関数

ここで使われている「REPLACE関数」の構文は以下のとおり。

REPLACE(str,from_str,to_str)

“str”は、対象となるフィールド、”from_str”は、置換したい文字列、”to_str”は、置換後の文字列。

ちなみに、大文字小文字が区別されるため、replace(f1,’TEST’,’テスト’) とした場合、”TEST”だけが置換され、”test”は、そのまま置換されずに残ってしまうので注意が必要。

詳しくは、MySQLのリファレンス「11.3. 文字列関数」を参照。

それから、必ず更新前に結果がどうなるかは確認すること。

以下のようなSELECT文を発行すれば、置換後のデータが簡単に確認できる。

データベース上のすべてのテーブルを検索して文字列置換する方法

MySQLのデータベースのすべてのテーブルを対象に特定の文字列を検索して置換したい際には以下のような便利なツールもある。

WordPressを別の環境(別のURL)に移行したい場合、デーベース内の色々なテーブルに登録されている移行元URLを移行先URLに...