通常、私は手動検索を使用して、phpmyadminを使用してMySQLデータベースのテキストを置き換えます。今はうんざりしていますが、クエリを実行してphpmyadminのテーブル全体でテキストを検索して新しいテキストに置き換えるにはどうすればよいですか?
例:キーワードを検索domain.com
し、に置き換えwww.domain.com
ます。
通常、私は手動検索を使用して、phpmyadminを使用してMySQLデータベースのテキストを置き換えます。今はうんざりしていますが、クエリを実行してphpmyadminのテーブル全体でテキストを検索して新しいテキストに置き換えるにはどうすればよいですか?
例:キーワードを検索domain.com
し、に置き換えwww.domain.com
ます。
single table
更新 の場合
UPDATE `table_name`
SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text')
multiple tables
~から
すべてのテーブルから編集したい場合、最善の方法は、 を取り出してdump
アップロードfind/replace
することです。
mysite.com/wordpress を検索して mysite.com/news に置き換えるなど、すべての wordpress ブログ投稿のテキストを検索して置換するために、PHPmyadmin で SQL クエリを実行します。この例のテーブルは tj_posts です。
UPDATE `tj_posts`
SET `post_content` = replace(post_content, 'mysite.com/wordpress', 'mysite.com/news')
もう 1 つのオプションは、データベース内の各列のステートメントを生成することです。
SELECT CONCAT(
'update ', table_name ,
' set ', column_name, ' = replace(', column_name,', ''www.oldDomain.com'', ''www.newDomain.com'');'
) AS statement
FROM information_schema.columns
WHERE table_schema = 'mySchema' AND table_name LIKE 'yourPrefix_%';
これにより、実行できる更新ステートメントのリストが生成されます。
UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);
たとえば、John の出現箇所をすべて Mark に置き換えたい場合は、以下を使用します。
UPDATE student SET student_name = replace(student_name, 'John', 'Mark');