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.newdu.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.newdu.com','w','Ww')--->WwWwWw.newdu.com
例:把表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 |