替换MySQL某表的某字段中的部分数据
搬砖过程中又遇到了奇妙的需求:主要就是项目中的图片被修改了位置,图片迁移了,因此保存在数据库中的路径数据就需要我们去修改,因为图片名字是变不了的,因此也就只需要批量地把盘符替换就行了。
比方说我的图片原来在D:/PICTURE
,然后我们要改到E:/FILE
,其他不变,这让我们想到了word文件里面替换,其实MySQL也有这个功能的SQL语句。
废话不多说,直接上SQL:
update 表名 set 字段名 = replace(字段名,'替换前内容','替换后的内容') where 条件;
比如,我的表叫file,这个字段是path,数据表如下:
此时我只需要执行以下的SQL语句:
update file set path = replace(path,'D:/PICTURE','E:/FILE') where path like 'D:/PICTURE%';
完美!