sql数据库批量修改操作

业务场景如下:当前数据库表A中有属性url资源都是以http://pic5.study.com/.....方式存储的,现在需要进行https改造,需要将前面打头的资源都改成https://cdn.resource.com/...,那么我们应该怎么做呢?

首先,需要备份库表:
create table A_backup like A;
insert into A_backup select * from A;

库表备份好过后,在进行批量操作时有两种方式:

第一种是使用replace函数:UPDATE A SET url = REPLACE (url, 'http://pic5.study.com', 'https://cdn.resource.com');这种方法虽然可以达到目的,但是也有可能将其他字段中包含的'http://pic5.study.com'替换掉,所以慎用!

第二种方法是使用concat方法与substr方法:update A set url=CONCAT('https://cdn.resource.com',SUBSTR(url FROM 22)) WHERE SUBSTR(url FROM 1 FOR 21)='http://pic5.study.com';这种方法就不会出现第一种方法的情况,不过稍微复杂一些,尤其是substr在使用的时候,位置数字要写对。

posted @ 2016-10-25 16:37  cug_marvel  阅读(4894)  评论(0编辑  收藏  举报