phpmyAdminを利用してMySQLで置換する方法 | 大阪 ホームページ制作 株式会社TREVOの技術ブログ

技術ブログ

phpmyAdminを利用してMySQLで置換する方法

2025.02.27.

MySQL

X Facebook Pocket LINE はてブ

株式会社TREVOの月額制ホームページ制作サービス
PR

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_contentpost_titlepost_excerpt など必要なカラムを指定して書き換えることが可能です。

置換時の注意点

バックアップの取得

万が一のため、作業前に必ずエクスポートなどでデータベースのバックアップをとりましょう。

作業後にトラブルが発生しても、バックアップがあれば復元が可能です。

シリアライズデータの破損に注意

WordPressではウィジェットやテーマ設定など、一部のデータがシリアライズ形式(PHPの配列を文字列化したもの)で保存されていることがあります。

単純な文字列置換でデータ長が変わるとシリアライズ形式が壊れてしまい、設定が読み込めなくなる可能性があります。

もしシリアライズデータを扱う場合は、WP-CLIの search-replace コマンドやプラグイン(例:Better Search Replace)など、シリアライズ対応の手段を使うことを検討してください。

作業後の確認

置換後は、該当ページの表示や管理画面から問題なく編集できるかを確認しましょう。

特にURL変更などはリンク切れや画像のパス不備が起こりやすいため、十分にテストする必要があります。

まとめ

  • REPLACE() 関数を使うことで、MySQLデータベース内の文字列を簡単に一括置換できます。
  • WordPressの投稿データ(wp_posts テーブル)なども同様の方法で編集が可能です。
  • 作業前にバックアップを取り、シリアライズデータの扱いに注意しましょう。
  • 単純な置換だけではなく、WP-CLIなどのWordPress向けツールを活用することで、トラブルを回避しつつ大規模な文字列置換を行えます。

大阪のホームページ制作会社TREVOでは、ホームページ制作に関する情報を掲載しています。最短2日で仮サイトを公開するサービスやSEO対策に特化したホームページ制作、オリジナルホームページデザイン、ライティング、リスティング広告、WEBマーケティングなどのサービスをご紹介しています。

板浪雅樹 のアバター

経歴: 映像制作の専門学校を卒業後、映像制作(編集・撮影)でのアシスタント、カーナビゲーション用の3DCG制作、PS2用の3DCGゲーム背景制作、16ミリフィルムのデジタル変換業務等を経てWEB制作部門のある会社に就職。株式会社TREVOでディレクション、SEO対策、CMS開発、3DCG制作、映像制作を担当

X Facebook Pocket LINE はてブ
WEB無料相談