MySql Update修改(替换)某个字段中包含的某个值,根据条件修改替换某个字段的一部分值

背景:

由于数据迁移和域名变更,Mysql中存储的文件下载地址变更;

要替换某一个字段中的部分内容,可以用update 语句和REPLACE方法,结构如下:

UPDATE 表名 SET 字段名= REPLACE( 需要替换值的字段名, '替换前关键字', '替换后关键字' )

WHERE 字段名 REGEXP "替换前的字段值";

MySql Update修改(替换)某个字段中包含的某个值:

例如1:

由于原域名http://www.test.com,需求将url替换成新地址https://wwwnew.test.com;

UPDATE 表名 SET 字段名 = REPLACE(字段名, '替换之前的值', '替换之后的值')
WHERE 修改条件;
UPDATE t_user SET img_url = 
REPLACE(img_url, 'http://www.test.com', 'https://wwwnew.test.com') 
WHERE u_code=56;
解释:

如果img_url字段内容是这种数据,只会修改前面url部分后面的不会被替换

http://www.test.com/img/20200718/user/img/3124.jpg

修改结果为:

https://wwwnew.test.com/img/20200718/user/img/3124.jpg

例如2:

替换订单中用户手机号前缀155改为170

UPDATE order SET mobile= REPLACE( mobile, 155, 170 ) ; 

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。