データベース内の文字列を一括置換する方法

こんにちは!Takuya.B(@TB_IQ)です。

検証環境のDBのデータをエクスポートして本番環境にインポートする際に、自身のサイトURLを静的に記載していた場合、本番環境(ex: https://example.com/)なのに検証環境(ex: https://stage.example.com/)のURLが表示されたままとなってしまいます。

数件程度であれば、一つずつ手作業で修正できますが、数十件以上になってくると手間です。

そこで、本日はSQL文を実行して一括で置換する方法をご紹介します!

スポンサーリンク

データベース内の文字列を一括置換する方法

早速ですが、テンプレートと実際例は以下です。

 # テンプレート
UPDATE テーブル名 SET カラム名 = REPLACE(カラム名,'置換対象','置換後の文字列'); 

# 実際例
UPDATE articles SET body = REPLACE(body,'https://stage.example.com/','https://example.com/');

一括置換してカラムを更新するため UPDATE 文を使用します。また、一括置換には REPLACE 関数を使用します。

スポンサーリンク

あとがき

この方法ではテーブル内部の特定カラム内の文字列を置換する方法ですが、for文など使えばデータベース全体に渡って一括置換することもできそうですね。

というわけで、次回もよしなに!