mysql函数之七:replace() MySQL批量替换指定字段字符串

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','http://www.jb51.net');

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.jb51.net','w','Ww')--->WwWwWw.jb51.net

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

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

 

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

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

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

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

  比如本站今天发现站内关于linux命令的文章 标题不是太好,以前都是以 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

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

posted on 2015-08-06 23:15  duanxz  阅读(17289)  评论(0编辑  收藏  举报