本來不想告訴大家的,因為采集別人網站不是什麼光彩事,但覺得這個技巧實在是夠強,要不是這簡短的一行代碼,我還不累死了。是這樣的,采集了一些別人的文章,可能是采集程序的問題,每篇文章的標題裡都多出了一些字符<img src="images/awwor.gif">,導致在生成HTML網頁後很多內容不顯示,但是看了看記錄有2000多條,一條一條改,還不累死我啊。於是請教了一個SQL高手,發我一行SQL語句:
代碼如下 復制代碼Update dede_addonsoft SET dxylink=REPLACE(dxylink, '.zip', '.rar') where aid > 45553;
update `table_name` set field = replace(field,'.rar','.7z');
table_name:要查詢的表名,
field:表裡的字段名,
replace(field,'.rar','.7z'); :正則匹配,把field字段裡的 .rar 替換為 .7z
執行完什麼也沒見到,可我看了一下數據庫,哇塞!!真爽了,<img src="images/awwor.gif">全部都不見了,覺得這個語句真夠猛的,也怪自己不懂SQL竟然有如此用法啊,以後要多多研究sql了,事半功倍啊。所以不敢獨享本經驗,特此與大家分享。另外報告,俺現在已經不搞采集了,就像做人一樣老實做站,期待大家的站也有好收成。順便說下這行代碼的含義:
update '表名(比如我的article)' set 要修改的字段名 = replace (要修改的字段名,'被替換的字符','替換後的字符')
補充:
mysql replace用法
1.replace into
replace into table (id,name) values('1','aa'),('2','bb')
此語句的作用是向表table中插入兩條記錄。如果主鍵id為1或2不存在
就相當於
insert into table (id,name) values('1','aa'),('2','bb')
如果存在相同的值則不會插入數據
2.replace(object,search,replace)
把object中出現search的全部替換為replace
select replace('www.163.com','w','Ww')--->WwWwWw.163.com
例:把表table中的name字段中的aa替換為bb
update table set name=replace(name,'aa','bb')