今天遇到一個(gè)問(wèn)題,一Access數(shù)據(jù)庫(kù)中存放著N條文章記錄,現(xiàn)在想替換掉這些文章中的部分內(nèi)容,我們首先想到的是到網(wǎng)站后臺(tái)去一條一條修改文章,那如果有1000篇文章,那就在網(wǎng)站后臺(tái)改1000次,難以想象這是什么樣的工作量。其實(shí)在Access數(shù)據(jù)庫(kù)中可以利用SQL語(yǔ)句來(lái)批量替換內(nèi)容,只需一句話就能解決問(wèn)題,下面通過(guò)兩種方法來(lái)解決此問(wèn)題。
方法一:通過(guò)Access數(shù)據(jù)庫(kù)中的查詢分析器來(lái)修改(這里我使用的是Access 2003)
1、打開(kāi)需要修改的Access數(shù)據(jù)庫(kù)
2、在數(shù)據(jù)庫(kù)“對(duì)象”中點(diǎn)擊“查詢”
3、點(diǎn)擊“在設(shè)計(jì)視圖中創(chuàng)建查詢”
4、在出現(xiàn)的界面中關(guān)閉“顯示表”小窗口
5、點(diǎn)擊“視圖”菜單,選擇“SQL視圖”,此時(shí)將出現(xiàn)查詢窗口,您可以在此輸入SQL語(yǔ)句了
6、直接輸入以下SQL語(yǔ)句:
Update 表 SET 字段=replace(字段,"原字符","替換字符")
您可根據(jù)實(shí)際情況,將上面紅字換掉即可,這里舉個(gè)例子,假設(shè)表為biao、字段為content、原字符為xiazai.jb51.net、替換字符為down1.jb51.net,那么相應(yīng)的SQL語(yǔ)句如下:
復(fù)制代碼 代碼如下:
Update biao SET content=replace(content,"xiazai.jb51.net","down1.jb51.net")
7、點(diǎn)擊工具欄中的感嘆號(hào),運(yùn)行即可。
方法二:用ASP程序來(lái)批量替換字符,上面的代碼有字符長(zhǎng)度限制的問(wèn)題。這個(gè)沒(méi)有限制。
下面直接給出ASP程序代碼,大家一看即知道了:
復(fù)制代碼 代碼如下:
'這里省略數(shù)據(jù)庫(kù)連接代碼
Dim rs,sql,text
Set rs=Server.CreateObject("ADODB.Recordset")
sql="Select content From biao"
rs.Open sql,conn,1,3
Do While Not rs.Eof
text=Replace(rs("content"),"xiazai.jb51.net","down1.jb51.net")
rs("content")=text
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs=Nothing
您可能感興趣的文章:- sqlserver replace函數(shù) 批量替換數(shù)據(jù)庫(kù)中指定字段內(nèi)指定字符串參考方法
- 批量替換sqlserver數(shù)據(jù)庫(kù)掛馬字段并防范sql注入攻擊的代碼
- MSSQL批量替換語(yǔ)句 在SQL SERVER中批量替換字符串的方法
- sqlserver 中ntext字段的批量替換(updatetext的用法)
- Sql 批量替換所有表中內(nèi)容