推薦學習:織夢cms
在DedeCMS 系統(tǒng)中,我們很多地方需要用到SQL語句,例如批量修改(替換)內(nèi)容、數(shù)據(jù)內(nèi)容調(diào)用等,在系統(tǒng)模板中有一個專門用于調(diào)用數(shù)據(jù)的模板標簽{dede:sql/}我們可以參考幫助中心的模板標簽說明學習下這個標簽如何使用。
當然我們在使用SQL語句和學習SQL語句的之前需要對織夢的數(shù)據(jù)庫結(jié)構(gòu)有一個大致的了解,我們可以通過幫助中心的數(shù)據(jù)庫說明,來簡單的了解這些內(nèi)容。
以下為引用的內(nèi)容:
標簽名稱:sql功能說明:用于從模板中用一個SQL查詢獲得其返回內(nèi)容適用范圍:全局使用基本語法:{dede:sql sql=””}底層模板{/dede:sql}參數(shù)說明:sql=”” 完整的SQL查詢語句底層模板字段:SQL語句中查出的所有字段都可以用[field:字段名/]來調(diào)用?
應用實例:?
1.調(diào)用某個特定會員發(fā)布的文章內(nèi)容
{dede:sql?sql='Select?*?from?dede_archives?where?mid=1'}?? <a>[field:title/]</a>?? {/dede:sql}
mid為用戶ID可以參考二次開發(fā)中關(guān)于dede_archives的數(shù)據(jù)表字段介紹
接下來我們收集整理一些常用的SQL語句幫助大家一同更好的使用DedeCMS系統(tǒng)。?
我們將SQL語句分為兩類,功能型的和內(nèi)容調(diào)用型,功能型的主要是對數(shù)據(jù)庫進行常規(guī)的操作,例如{insert、update},數(shù)據(jù)調(diào)用型的操作就 (select),兩種類型的SQL語句使用發(fā)放也很簡單,如果是功能型的只需要在系統(tǒng)后臺[系統(tǒng)]-[SQL命令運行工具]中進行使用,如果是模板標簽 的數(shù)據(jù)調(diào)用類型,只需要在模板相應位置添加標簽即可。
功能型SQL語句整理:?
2.功能說明:添加自定義屬性?
相關(guān)語句:
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;
3.功能說明:批量為作者和來源賦值?
相關(guān)語句:
UPDATE?dede_archives?SET?writer='要賦的值'?WHERE?writer='';?? UPDATE?dede_archives?SET?source='要賦的值'?WHERE?source='';
4.功能說明:刪除指定IP的評論
相關(guān)語句:
delete FROM `dede_feedback` WHERE `dede_feedback`.`ip` = ‘000.000.000.000’??
000.000.000.000 為垃圾評論發(fā)布者的IP
5.功能說明:清空文章中關(guān)鍵字字段?
相關(guān)語句:
000.000.000.000 為垃圾評論發(fā)布者的IP
5.功能說明:清空文章中關(guān)鍵字字段?
相關(guān)語句:
update?dede_archives?set?keywords=''
6.功能說明:批量替換發(fā)布時間,入庫時間,更新時間
相關(guān)語句:
第一步。在后臺新增一個文章。?
得到一個時間,比如2009-01-13 14:13:32,這可以通過管理文章那里看到。?
第二步,后臺執(zhí)行SQL語句SELECT * FROM dede_archives order by id DESC limit 1?
這樣你可以看到你剛才新加加的文章一所有字段值。?
觀察以下的數(shù)據(jù):?
pubdate:1231846313?
senddate:1231846313?
sortrank:1231846313?
其中1231846313就是時間數(shù)據(jù)了。?
然后就是替換了。
UPDATE?dede_archives?SET?sortrank?=?1231846313;?? UPDATE?dede_archives?SET?senddate?=?1231846313;?? UPDATE?dede_archives?SET?pubdate?=?1231846313;
7.功能說明:批量修改欄目為動態(tài)或者靜態(tài)
相關(guān)語句:
UPDATE?`dede_arctype`?SET?`isdefault`?=?'-1'?動態(tài)? UPDATE?`dede_arctype`?SET?`isdefault`?=?'1'?靜態(tài)
8.功能說明:文章內(nèi)容批量替換SQL語句
相關(guān)語句:
update?`dede_addonarticle`?set?body=REPLACE(body,'論壇','社區(qū)')?where?body?like?"%論壇%"
以上SQL語句作用是查找所有文章帶有“論壇”的詞組,并將論壇替換為“社區(qū)”
數(shù)據(jù)調(diào)用SQL語句整理:?
9.標簽說明:常用內(nèi)容統(tǒng)計代碼
相關(guān)標簽:
共有文章:**?篇?? {dede:sql?sql="select?count(*)?as?c?from?dede_archives?where?channel=1"}·共有文章:[field:c?/]篇{/dede:sql}?? ·共有圖集:**?個?? {dede:sql?sql="select?count(*)?as?c?from?dede_archives?where?channel=2"}·共有圖集:[field:c?/]個{/dede:sql}?? ·共有軟件:**?個?? {dede:sql?sql="select?count(*)?as?c?from?dede_archives?where?channel=3"}·共有軟件:[field:c?/]個{/dede:sql}?? ·共有評論:**條?? {dede:sql?sql="select?count(*)?as?c?from?dede_feedback"}·共有評論:[field:c?/]條{/dede:sql}?? ·共有會員:**名?? {dede:sql?sql="select?count(mid)?as?c?from?dede_member?"}·共有會員:[field:c?/]名{/dede:sql}?? ·文章閱讀:**?人次?? {dede:sql?sql="select?sum(click)?as?c?from?dede_archives"}文章閱讀:[field:c?/]人次{/dede:sql}?? ·今日更新:**篇?? {dede:sql?sql="SELECT?count(?*?)?AS?c?FROM?dede_archives?WHERE?pubdate?>?UNIX_TIMESTAMP(?CURDATE(?)?)?"}今日更新:[field:c?/]篇{/dede:sql}? 總共留言:{dede:sql?sql="select?count(*)?as?cc?From?dede_guestbook"}[field:cc/]{/dede:sql}條
?
10.調(diào)用說明:調(diào)用Discuz論壇附件帶圖片的貼子
相關(guān)標簽:
{dede:sql?sql="SELECT`?cdb_p_w_uploads`.`aid`,?`cdb_p_w_uploads`.`p_w_upload`,`cdb_threads`.`tid`,?`cdb_threads`.`fid`,?`cdb_threads`.`subject`?FROM?`cdb_p_w_uploads`?LEFT?JOIN?`cdb_threads`?ON?`cdb_threads`.`tid`=`cdb_p_w_uploads`.`tid`?WHERE?`cdb_p_w_uploads`.`readperm`='0'?AND?`displayorder`>='0'?AND?`filetype`='p_w_picpath/pjpeg'?GROUP?BY?tid?LIMIT?0,2"}??
??
?? {/dede:sql}
11.調(diào)用說明:調(diào)用UCHOME最新日志
相關(guān)標簽:
{dede:sql?sql="Select?subject,viewnum,blogid,uid?From?uchome_blog?order?by?blogid?desc?limit?0,8"}??
?? {/dede:sql}
12.調(diào)用說明:會員積分排行
相關(guān)標簽:
{dede:sql?sql="Select?mid,userid,uname,scores?From?dede_member?order?by?scores?desc?limit?0,10"}??
?? {/dede:sql}