⽤sql语句直接替换或删除数据库中某字段中的特定字符
需求分析:数据库中⼀个text⽂本中的如字段:blog_content,内容是:你好,这是⼀篇博客,欢迎阅读。想要把其中的 博客 换成blog。
解决思路:
那么⽤代码可能需要先取出,然后进⾏字符串替换,然后再更新到数据库。这样是没问题的。但是如果是⼤量记录需要批量更换,那么效率就⾮常差,可能会产⽣阻塞,jdbc长连接影响其它线程。
换个⾓度:
那么,实际上mysql的内建函数replace()就提供了这个功能。也就是不需要出数据库就完成修改
sql语句写法:
sql语句为:
sql语句为:UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,'to_str’) WHERE ……
说明: table_name —— 表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串
sql语句替换表中内容⼀个需求写法就是:把user_blog表中所有blog_content字段中blog_id不为 ‘1’ 的内容的192.168.1.110 换成192.168.73.187,实现如下,sql语句经过测试没问题,就不贴结果了
UPDATE user_blog SET blog_content = REPLACE (blog_content,'192.168.1.110','192.168.73.187')WHERE blog_id != '1';
删除某个字段:
删除某个字符串可以这样写:
UPDATE ecs_goods SET goods_name=REPLACE(goods_name, 'VANCL凡客诚品 ', '');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论