在网站中,有时候一些描述都会带上特定的前缀或者一些字符串(比如:网站名称),比如浮木网XXX分类,浮木网XXX文章等等.有时候需要去改动这些特殊字符串,数据量大的时候人工成本极高,字段除了特定字符串之外还有一些其他的字符串.仅仅使用update基础语法无法满足需求:
UPDATE category SET desc='浮木网测试'
这样会有部分的数据丢失,比如原本是_浮木网mysql文章_会变成_浮木网测试_,_mysql文章_会丢失.
但是,我们可以使用下面的语法进行批量局部字符串替换
UPDATE category SET column=REPLACE(column,'old string','new string');
示例: UPDATE category SET desc=REPLACE(desc,'浮木网','浮木网测试');
结果为:浮木网测试mysql文章,这样保证了数据的完整性,又可以节省大量的人力成本.
注意: 如果是在命令行执行,字符串是中文的最好在执行sql语句之前,先执行 set names utf8