MySQLsearch并replace字段中的一些文本

什么MySQL查询将做一个文本search和replace在一个特定的字段在表中?

即searchfoo并用barreplace,所以一个字段值为hello foo变成hello bar

更改table_namefield以匹配您的表名称和字段:

 UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0; 
  • REPLACE (string函数)
  • INSTR (string函数)
 UPDATE table_name SET field = replace(field, '[string-to-find]', '[string-that-will-replace-it]'); 

如果你想根据另一个领域的价值进行search和replace,你可以做一个CONCAT:

 update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED')); 

只是为了让其他人一下子就能find它。

  UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required); 

比如说,如果我想用马克来代替John的所有事件,我会在下面使用,

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

replacestring函数将做到这一点。

我用上面的命令行如下:update TABLE-NAME set FIELD = replace(FIELD,'And','and'); 目的是取代和与(“A”应该是小写)。 问题是它不能在数据库中find“And”,但是如果我使用“%And%”,那么它可以与其他很多属于单词的甚至是已经小写的单词一起find。