A-A+
MySQL替换函数REPLACE例子
一般对于网站建设程序来说,使用替换语句也许是最有用的一种维护方式了,特别是对于所有内容里有统一修改的地方。类如我的网站名称是夏日博客,现在要换成夏日,如果只有一篇文章还好,但是要网站的所有文章里都修改的话,显然通过后台一篇一篇的改有点力不从心,并且可能会遗漏。像这样的情况,我们可以使用MySQL的替换语句。
Update 表名
SET 字段名 = REPLACE(字段名, '搜索的字符串', '替换的字符串')
Where INSTR(字段名,'搜索的字符串') > 0
这个语句的用法特别简单,使用MySQL的REPLACE()替换函数即可实现,REPLACE函数的第一个选项是字段名,第二个选项是要搜索的字符串,第三个选项是替换的字符串。最后那一句INSTR()函数是模糊查询方法,效果跟使用LIKE()函数一样,表示只替换查询到的数据。
如我的表名blog,文章内容字段名b_content,那么这个需求的SQL语句就可以这么写
Update blog
SET b_content = REPLACE(b_content, '夏日博客, '夏日')
Where INSTR(b_content,'夏日博客') > 0
执行后再来看看文章中所有的网站名称,都已OK。
其实REPLACE()函数还有很多诸如类似需要用到的地方,比如把文章的空格删掉
Update blog
SET b_content = REPLACE(b_content, ' ', '')
Where INSTR(b_content,' ') > 0
但是感觉用MySQL的TRIM()清除空格函数会更好一些
Update blog SET b_content = TRIM(b_content)
这样也可以实现清除空格效果