dedecms使用SQL命令批量替換指定字符串的方法

字號:


    本文實例講述了dedecms使用SQL命令批量替換指定字符串的方法。分享給大家供大家參考。具體分析如下:
    幾年前做的一個QQ站現(xiàn)在把資料整過來了,但是發(fā)現(xiàn)有些litpic縮略圖中的路么地址不對了,以前我都是使用phpmyadmin替換,今天我發(fā)現(xiàn)可以直接使用SQL命令運行器來解決,下面來看我一個替換litpic中指定路徑地址.
    查詢指定 archives 表:
    復制代碼代碼如下:select * from 你的表前綴_archives limit 1
    這個表是主表了,我們查詢一條出來看看,結果如下.
    運行SQL:select * from 你的表前綴_archives where id =1466,共有1條記錄,最大返回100條.
    記錄:1
    id:1466
    typeid:110
    typeid2:0
    sortrank:1238913636
    flag:c,p
    ismake:1
    channel:1
    arcrank:0
    click:33119
    money:0
    title:可愛的動態(tài)nomoQQ表情圖片
    shorttitle:
    color:
    writer:
    source:
    litpic:
    pubdate:1238913636
    senddate:1238913636
    現(xiàn)在我們可以鎖定到id =1466 記錄:
    復制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;
    執(zhí)行結果:
    運行SQL:
    復制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;共有1條記錄,最大返回100條.
    記錄:1
    litpic:
    好了現(xiàn)在我們需要把litpic 字段中的替換成 http://pic02.newdu.com/uploads/ 這種,這些我們可以使用update replace來實現(xiàn).
    例子:
    復制代碼代碼如下:update 你的表前綴_archives set `litpic`=replace(litpic, 'http://upload.jb51.net', '/uploads') WHERE id=1466
    我們來執(zhí)行看看結果,成功執(zhí)行1個SQL語句,好現(xiàn)在我們來查詢一下執(zhí)行結果是不是我們想要的,再執(zhí)行:
    復制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;
    確定執(zhí)行提示:
    運行SQL:
    復制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;共有1條記錄,最大返回100條.
    記錄:1
    litpic:http://pic02.newdu.com/uploads/allimg/c090405/123Y13349440-1SH6.jpg
    看提示沒有錯誤,我們在地址欄看看圖片正確,查看是沒有問題了,現(xiàn)在我們來批量替換.
    復制代碼代碼如下:select litpic from 你的表前綴_archives where litpic like '%http://upload.jb51.net%'
    這樣我們查一下是為了防止后面替換不會替換沒有了,也防止了sql出錯導致數(shù)據庫全部替換掉了.
    復制代碼代碼如下:update 你的表前綴_archives set `litpic`=replace(litpic, 'http://upload.jb51.net', '/uploads') where litpic like '%http://upload.jb51.net%'
    成功執(zhí)行1個SQL語句,我們再查一下看.
    運行SQL:
    復制代碼代碼如下:select litpic from 你的表前綴_archives where litpic like '%http://upload.jb51.net%'無返回記錄!
    希望本文所述對大家的dedecms建站有所幫助。