通常我使用手动查找替换文本在MySQL数据库使用phpMyAdmin。我现在厌倦了,我怎么能运行一个查询,在phpMyAdmin的整个表中找到和替换一个新的文本?

例如:查找关键字domain。例如,替换为www.domain.example。


当前回答

在有大小写字母的句子中, 我们可以使用二进制REPACE

UPDATE `table_1`  SET  `field_1` =  BINARY REPLACE(`field_1`, 'find_string', 'replace_string')

其他回答

在有大小写字母的句子中, 我们可以使用二进制REPACE

UPDATE `table_1`  SET  `field_1` =  BINARY REPLACE(`field_1`, 'find_string', 'replace_string')
 UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);

比如,如果我想把所有出现的约翰替换为马克,我会用下面的方法,

UPDATE student SET student_name = replace(student_name, 'John', 'Mark');

这是一个如何在数据库中查找和替换的例子

 UPDATE TABLE_NAME
 SET COLUMN = replace(COLUMN,'domain.example', 'www.domain.example') 

TABLE_NAME =>修改为你的表名

COLUMN =>将其更改为您的列,确保它存在

对于单个表更新

 UPDATE `table_name`
 SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text')

从多个表-

如果您希望从所有表中进行编辑,最好的方法是获取转储,然后查找/替换并上传回来。

phpMyAdmin包含一个简洁的查找和替换工具。

选择表,然后点击Search > Find and replace

这个查询花费了大约一分钟的时间,成功地替换了几千个oldurl实例。用新url进行扩展。列post_content中的ext

这个方法最棒的地方是:你可以在提交之前检查每个匹配。

注意:我使用phpMyAdmin 4.9.0.1