本文實例講述了dedecms使用SQL命令批量替換指定字符串的方法。分享給大家供大家參考。具體分析如下:
幾年前做的一個QQ站現(xiàn)在把資料整過來了,但是發(fā)現(xiàn)有些litpic縮略圖中的路么地址不對了,以前我都是使用phpmyadmin替換,今天我發(fā)現(xiàn)可以直接使用SQL命令運行器來解決,下面來看我一個替換litpic中指定路徑地址.
查詢指定 archives 表:
復(fù)制代碼代碼如下:select * from 你的表前綴_archives limit 1
這個表是主表了,我們查詢一條出來看看,結(jié)果如下.
運行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 記錄:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;
執(zhí)行結(jié)果:
運行SQL:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;共有1條記錄,最大返回100條.
記錄:1
litpic:
好了現(xiàn)在我們需要把litpic 字段中的替換成 /uploads/ 這種,這些我們可以使用update replace來實現(xiàn).
例子:
復(fù)制代碼代碼如下:update 你的表前綴_archives set `litpic`=replace(litpic, 'http://upload.jb51.net', '/uploads') WHERE id=1466
我們來執(zhí)行看看結(jié)果,成功執(zhí)行1個SQL語句,好現(xiàn)在我們來查詢一下執(zhí)行結(jié)果是不是我們想要的,再執(zhí)行:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;
確定執(zhí)行提示:
運行SQL:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where id =1466;共有1條記錄,最大返回100條.
記錄:1
litpic:/uploads/allimg/c090405/123Y13349440-1SH6.jpg
看提示沒有錯誤,我們在地址欄看看圖片正確,查看是沒有問題了,現(xiàn)在我們來批量替換.
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where litpic like '%http://upload.jb51.net%'
這樣我們查一下是為了防止后面替換不會替換沒有了,也防止了sql出錯導(dǎo)致數(shù)據(jù)庫全部替換掉了.
復(fù)制代碼代碼如下:update 你的表前綴_archives set `litpic`=replace(litpic, 'http://upload.jb51.net', '/uploads') where litpic like '%http://upload.jb51.net%'
成功執(zhí)行1個SQL語句,我們再查一下看.
運行SQL:
復(fù)制代碼代碼如下:select litpic from 你的表前綴_archives where litpic like '%http://upload.jb51.net%'無返回記錄!
希望本文所述對大家的dedecms建站有所幫助。
更多信息請查看IT技術(shù)專欄
2025國考·省考課程試聽報名