phpmyAdminを利用してMySQLで置換する方法
投稿日:2025.02.27.
更新日:2025.04.12.

執筆・編集 板浪 雅樹2005年から WEB 業界一筋。500サイト超を手がける SEO・WordPress のエキスパート。「公開後こそ本番」を掲げ、データ分析とユーザー視点で成果を引き出す運用を提案。

2005年に制作会社へ入社後、プログラマーからキャリアをスタート。サーバー構築・データベース設計で培った技術を強みに、WordPress テーマ/プラグイン開発やサイト移行の難案件を多数担当してきました。
2010年以降は SEO エンジニアとしても活動領域を拡大。コンテンツ設計・内部リンク最適化・高速化チューニングにより、競合の激しいビッグキーワードで上位獲得を実現してきました。
現在は TREVO のウェブディレクターとして、要件定義から運用改善まで一気通貫でリード。AI ライティングや GA4/Looker Studio を活用したレポーティング手法を開発し、「数字で説明できるサイト運用」をポリシーにクライアントの ROI 最大化を支援しています。
趣味/強み:筋トレとランニングで日々の集中力をキープ。複雑な課題を“仕組み”で解決するのが得意。
モットー:「サイトは資産。改善を止めた瞬間から価値は目減りする」
MySQLで作成したデータベースの中身を一括置換する際に役立つ方法を紹介します。サイトのパス変更やドメイン変更など、WordPressを運用していると大量のデータをまとめて書き換えるケースがよくあります。
作業前には必ずバックアップ(エクスポート)を取りましょう!
基本構文:文字列置換関数
MySQL には REPLACE()
関数が用意されており、指定した文字列を別の文字列に置き換えることができます。phpMyAdminの「SQL」タブに以下のようなクエリを入力することで、簡単に実行できます。
UPDATE テーブル名
SET カラム名 = REPLACE(カラム名, "置換対象の文字列", "置換文字列");
- テーブル名:例)
wp_posts
- カラム名:例)
post_content
- “置換対象の文字列”:変更前のURLや文字列
- “置換文字列”:変更後のURLや文字列
この一文を実行するだけで、該当テーブルの指定したカラム内の文字列を一括で書き換えることができます。
WordPressの投稿内容を編集する場合
WordPressでは、投稿データが wp_posts
テーブルに保存されています。
wp_posts
:投稿のメインテーブルpost_content
:投稿内容を保持しているカラム
「guid」なども書き換えることができますが、guid
はWordPressが内部的に使用する固有IDとしての意味合いが強いため、むやみに変更しないほうが望ましい場合があります。必要性をよく検討してから実行してください。
UPDATE wp_posts
SET guid = REPLACE(guid, "置換対象の文字列", "置換文字列");
同様に、post_content
や post_title
、post_excerpt
など必要なカラムを指定して書き換えることが可能です。
置換時の注意点
バックアップの取得
万が一のため、作業前に必ずエクスポートなどでデータベースのバックアップをとりましょう。
作業後にトラブルが発生しても、バックアップがあれば復元が可能です。
シリアライズデータの破損に注意
WordPressではウィジェットやテーマ設定など、一部のデータがシリアライズ形式(PHPの配列を文字列化したもの)で保存されていることがあります。
単純な文字列置換でデータ長が変わるとシリアライズ形式が壊れてしまい、設定が読み込めなくなる可能性があります。
もしシリアライズデータを扱う場合は、WP-CLIの search-replace コマンドやプラグイン(例:Better Search Replace)など、シリアライズ対応の手段を使うことを検討してください。
作業後の確認
置換後は、該当ページの表示や管理画面から問題なく編集できるかを確認しましょう。
特にURL変更などはリンク切れや画像のパス不備が起こりやすいため、十分にテストする必要があります。
まとめ
REPLACE()
関数を使うことで、MySQLデータベース内の文字列を簡単に一括置換できます。- WordPressの投稿データ(
wp_posts
テーブル)なども同様の方法で編集が可能です。 - 作業前にバックアップを取り、シリアライズデータの扱いに注意しましょう。
- 単純な置換だけではなく、WP-CLIなどのWordPress向けツールを活用することで、トラブルを回避しつつ大規模な文字列置換を行えます。