本文實(shí)例講述了dedecms使用SQL命令批量替換指定字符串的方法。分享給大家供大家參考。具體分析如下:
幾年前做的一個(gè)QQ站現(xiàn)在把資料整過(guò)來(lái)了,但是發(fā)現(xiàn)有些litpic縮略圖中的路么地址不對(duì)了,以前我都是使用phpmyadmin替換,今天我發(fā)現(xiàn)可以直接使用SQL命令運(yùn)行器來(lái)解決,下面來(lái)看我一個(gè)替換litpic中指定路徑地址.
查詢指定 archives 表:
復(fù)制代碼代碼如下:select * from 你的表前綴_archives limit 1
這個(gè)表是主表了,我們查詢一條出來(lái)看看,結(jié)果如下.
運(yùn)行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:可愛(ài)的動(dòng)態(tài)nomoQQ表情圖片
shorttitle:
color:
writer:
source:
litpic:
pubdate:1238913636
senddate:1238913636
現(xiàn)在我們可以鎖定到id =1466 記錄:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;
執(zhí)行結(jié)果:
運(yùn)行SQL:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;共有1條記錄,最大返回100條.
記錄:1
litpic:
好了現(xiàn)在我們需要把litpic 字段中的 替換成 /uploads/ 這種,這些我們可以使用update replace來(lái)實(shí)現(xiàn).
例子:
復(fù)制代碼代碼如下:update 你的表前綴_archives set `litpic`=replace(litpic, 'http://upload.jb51.net', '/uploads') WHERE id=1466
我們來(lái)執(zhí)行看看結(jié)果,成功執(zhí)行1個(gè)SQL語(yǔ)句,好現(xiàn)在我們來(lái)查詢一下執(zhí)行結(jié)果是不是我們想要的,再執(zhí)行:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;
確定執(zhí)行提示:
運(yùn)行SQL:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;共有1條記錄,最大返回100條.
記錄:1
litpic:/uploads/allimg/c090405/123Y13349440-1SH6.jpg
看提示沒(méi)有錯(cuò)誤,我們?cè)诘刂窓诳纯磮D片正確,查看是沒(méi)有問(wèn)題了,現(xiàn)在我們來(lái)批量替換.
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where litpic like '%http://upload.jb51.net%'
這樣我們查一下是為了防止后面替換不會(huì)替換沒(méi)有了,也防止了sql出錯(cuò)導(dǎo)致數(shù)據(jù)庫(kù)全部替換掉了.
復(fù)制代碼代碼如下:update 你的表前綴_archives set `litpic`=replace(litpic, 'http://upload.jb51.net', '/uploads') where litpic like '%http://upload.jb51.net%'
成功執(zhí)行1個(gè)SQL語(yǔ)句,我們?cè)俨橐幌驴?
運(yùn)行SQL:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where litpic like '%http://upload.jb51.net%'無(wú)返回記錄!
希望本文所述對(duì)大家的dedecms建站有所幫助。
更多信息請(qǐng)查看IT技術(shù)專欄