【MySQL】「REPLACE」で文字列を一括で置換する方法
2019/03/01
ちょいとした事で、データベース内の文字列の一括置換が必要になったので使ったSQL。
その名も REPLACE。文字通りの意味ですね。
SQL内でREPLACEを使う
例えば、ブログのポスト内にある語句に対して適用させる場合などに使えます。
SELECT句の中で使用すれば、抽出結果だけが変換され、データベース内のレコードはそのまま。
対してUPDATE句の中で使用すれば、レコード自体を書き換えることが可能です。
置換対象文字列はアルファベットの大文字・小文字を区別し、また、日本語などマルチバイト文字にも対応しています。
SELECT
抽出時に置換します。
データベース内のレコードはそのままです。
1 |
SELECT REPLACE(`カラム名`, '置換対象', '置換後文字列') FROM `テーブル名`; |
UPATE
データベース内のレコードを更新する方法です。
1 |
UPDATE `テーブル名` SET `カラム名` = REPLACE(`カラム名`, '置換対象', '置換後の文字'); |
ブログのポスト内容など、置き換え対象のデータ数が多い場合に非常に重宝しますので、覚えておいて損はないと思います。