很多站長在使用dedeCMS的過程中,有時候需要處理大批量的數據,特別是采集或者以前的數據需要批量修改,手工是完全改不過來的。織夢程序已經為我們想到了這點,可以使用SQL語句處理。在織夢的系統>>系統設置>>SQL命令行工具裡面輸入正確的SQL語句就可以批量對文檔、會員等進行操作了。
基於此,正確的SQL語句就顯得非常重要了。整理了一批織夢DedeCMS常用的SQL語句,不過需要特別注意的是,無論SQL語句正常與否,在使用SQL語句時,都要特別謹慎。一個不小心,就可能導致你的數據全部丟失了,所以數據備份顯得非常重要。下面就是一些比較常見的Dede的SQL語句:
清空所有注冊會員內容
DELETE FROM `dede_member` WHERE `dede_member`.`mid` != 1;
TRUNCATE TABLE `dede_member_flink`;
TRUNCATE TABLE `dede_member_person`;
TRUNCATE TABLE `dede_member_space`;
TRUNCATE TABLE `dede_member_tj`;
添加自定義屬性
insert into `dede_arcatt`(sortid,att,attname) values(9,'d','評論');
alter table `dede_archives` modify `flag` set ('c','h','p','f','s','j','a','b','d') default NULL;
批量為作者和來源賦值
UPDATE dede_archives SET writer='要賦的值' WHERE writer='';
UPDATE dede_archives SET source='要賦的值' WHERE source='';
刪除指定IP的評論
DELETE FROM `dede_feedback` WHERE `dede_feedback`.`ip` = '000.000.000.000'
//000.000.000.000 為垃圾評論發布者的IP
清空文章中關鍵字字段
update dede_archives set keywords=''
批量替換發布時間,入庫時間,更新時間
第一步。在後台新增一個文章。得到一個時間,比如2009-01-13 14:13:32,這可以通過管理文章那裡看到。
第二步,後台執行SQL語句SELECT * FROM dede_archives order by id DESC limit 1;這樣你可以看到你剛才新加加的文章一所有字段值。
觀察以下的數據:pubdate:1231846313 senddate:1231846313 sortrank:1231846313其中1231846313就是時間數據了。然後就是替換了。
UPDATE dede_archives SET sortrank = 1231846313;
UPDATE dede_archives SET senddate = 1231846313;
UPDATE dede_archives SET pubdate = 1231846313;
批量修改欄目為動態或者靜態
UPDATE `dede_arctype` SET `isdefault` = '-1' 動態
UPDATE `dede_arctype` SET `isdefault` = '1' 靜態
文章內容批量替換SQL語句
update `dede_addonarticle` set body=REPLACE(body,'論壇','社區') where body like "%論壇%"
以上SQL語句作用是查找所有文章帶有“論壇”的詞組,並將論壇替換為“社區”
更改縮略圖目錄
update dede_archives set litpic=replace(litpic,'原來的字符','替換後的字符')
//例如:update dede_archives set litpic=replace(litpic,'uplimg,'tupian')
批量設置文章圖片屬性
update `dede_archives` set flag='p' WHERE flag='';
將所有文檔設置為“僅動態”
update dede_archives set ismake=-1;
將所有欄目設置為“使用動態頁”
update dede_arctype set isdefault=-1;
批量設置已審核文章為未審核
update dede_archives set arcrank=-1;
update dede_arctiny set arcrank=-1;
update dede_taglist set arcrank=-1;
批量設置 已生成html狀態為未生成
Update dede_archives set ismake=0;
dede文章刪除後id從1開始設置方法,只需要執行三條SQL語句就可以了
ALTER TABLE `dede_archives` AUTO_INCREMENT =1; //主表
ALTER TABLE `dede_arctiny` AUTO_INCREMENT =1; //微表
ALTER TABLE `dede_addonarticle` AUTO_INCREMENT =1; //附加表
很多人 都是只將主表dede_archives id設置為了1,這樣還不行。一定要同時將微表dede_arctiny和附加表dede_addonarticle一並執行了這樣id才可從1開始。
注意:前面加//不是SQL語句的內容,只是借用PHP的注釋,解釋SQL語句的用法和作用,實際操作時請不要放入織夢SQL命令行工具輸入框中。
因為織夢DedeCMS的SQL語句就是對織夢的數據庫進行批量操作,如果你對SQL語句有所了解,也知道織夢的數據庫結構,那上面的這些SQL語句完全可以自己寫,或者直接在Mysql數據庫裡面進行操作。當然,No牛網整理的這些織夢SQL語句是非常少的,在以後的過程中,會慢慢加入更多的SQL語句。如果你覺得這些SQL語句還有點用,那就把No牛加入收藏,方便查看最新的SQL語句。
*