Bootstrap

关于replace(): MySQL批量替换指定字段字符串

转自:微点阅读  https://www.weidianyuedu.com

mysql replace实例说明: 

UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); 
REPLACE(str,from_str,to_str) 
字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串 

这个函数用来批量替换数据中的非法关键字是很有用的!如下例子: 

例1:UPDATE BBSTopic SET tcontents = replace(replace(tcontents,'危  险','') ,'找死','') where tcontents like '%危 险%' or tcontents like '%找死%' 
例2:UPDATE typetable SET type_description=REPLACE(type_description,'360','https://www.weidianyuedu.com'); 

mysql replace用法 

1.replace into 
replace into table (id,name) values('1','aa'),('2','bb') 
此语句的作用是向表table中插入两条记录。如果主键id为1或2不存在 
就相当于 
insert into table (id,name) values('1','aa'),('2','bb') 
如果存在相同的值则不会插入数据 

2.replace(object,search,replace) 

把object中出现search的全部替换为replace 

select replace('www.weidianyuedu.com','w','Ww')--->

例:把表table中的name字段中的aa替换为bb 

update table set name=replace(name,'aa','bb') 

MySQL批量替换是我们经常会用到的功能,有时站内包含敏感词,会给我们带来麻烦,而在信息量较大的情况下,一篇篇查找、修改是不现实的。

  用MySQL批量替换,甚是轻松。发布在这里供参考,以备不时之需。

  MySQL批量替换指定字段字符串语句

  UPDATE 数据表名 SET 字段名 = replace(字段名, '要替换的字符串', '替换为') WHERE 设定条件;

  比如本站今天发现站内关命令的文章 标题不是太好,以前都是以 linux下mkdir命令使用详解---linux创建目录命令

  这样的格式 不是太利用搜索 因为很少有人搜索 mkdir 使用详解 及linux下mkdir 而搜索 mkdir 命令、mkdir参数、

  mkdir、用法、linux mkdir(中间用空格 而非一个"下"字) 校多,综合考虑 统一改为 linux mkdir命令参数及用法详解---linux创建目录命令

  显然这种包含更多的关键词更符合习惯。 说改就改,不过目前本站已经发了几百个命令,手动修改会累死人的。

  于是乎,进mysql,几个命令搞定 呵呵。

  UPDATE `linuxso_archives` SET `title` = replace(title, 'linux下', 'linux ') WHERE `typeid` =18;

  UPDATE `linuxso_archives` SET `title` = replace(title, '命令使用详解', '命令参数及用法详解') WHERE `typeid` =18

  根据不同的需求,设定替换条件,妙用无穷。这个有用的东西,希望大家收藏一下哈,以备需要。

;