本文主要为大家介绍dedecms常用的sql语句,有需要的朋友可以参考一下。
本文对dedecms的一些常用SQL语句进行了整理和总结,希望对大家有所帮助。
在DedeCMS系统中,很多地方需要用到SQL语句,比如批量修改(替换)内容、数据内容调用等。系统模板中有一个专门用来调用数据的模板标签{dede:sql/}。我们可以参考帮助中心的模板标签说明来学习如何使用这个标签。
当然,在使用SQL语句和学习SQL语句之前,我们需要对织梦的数据库结构有一个大致的了解。我们可以通过帮助中心的数据库描述简单了解这些内容。
Sql函数描述:用于通过SQL查询获取模板返回的内容。适用范围:
全局基本语法:{dede:sqlsql=""}底层模板{/dede:sql}
参数描述:sql=""完整sql查询语句底层模板字段:
SQL语句中找到的所有字段
应用示例:
1.调用特定成员发布的文章内容。
复制代码如下:{dede:SQLSQL='select*fromdede_archiveswheremid=1'}
[field:title/]
{/dede:SQL}
对于用户ID,可以参考二次开发中关于dede_archives的数据表字段介绍
。我们将SQL语句分为两类,函数类和内容调用类。函数型的主要是对数据库进行常规 *** 作,比如{insert,update},数据调用型的只是(select)。这两种类型的SQL语句的使用和分发也非常简单。如果是功能性的,只需要在系统后台【系统】-【SQL命令运行工具】中使用即可。如果是模板标签的数据调用类型,只需要在模板的相应位置添加一个标签即可。
功能示例:
清除空所有注册成员的内容
复制代码如下:deletefrom`dede_member`where`dede_member`。`mid`!=1;
截断表`dede_member_flink`;
截断表`dede_member_person`;
截断表`dede_member_space`;
截断表`dede_member_tj`;
基于数据的示例:
所有已发表文章的总数
复制代码如下:{dede:SQLSQL='selectcount(*)asccfromdede_archives'}
[field:cc/]
{/dede:SQL}
DEDECMS函数SQL语句排序:
1.添加自定义属性
复制代码如下:insertinto`dede_arcatt`(sortid,att,attname)值(9,'d','comment');
altertable`dede_archives`modify`flag`set('c','h','p','f','s','j','a','b','d')默认为NULL
2.批量为作者和来源赋值
复制代码如下:UPDATEdede_archivesSETwriter='要赋值的值'其中writer=
updatedede_archivessetsource='valuetoassigned'其中source=
3.删除指定IP的注释
复制代码如下:deletefrom`dede_feedback`where`dede_feedback`。`IP`='000.000.000'
000.000.000.000是垃圾邮件发送者的IP。
4.清除空文章中的关键词字段。
复制代码如下:updatedede_archivessetkeywords=''
5.批量替换发布时间、入库时间和更新时间
第一步。在后台添加一篇文章。
弄个时间,比如2009-01-1314:13:32,可以通过那里的管理文章看到。
其次,在后台执行SQL语句select*fromdede_archivesorderbyiddesc限制1
,这样就可以看到新添加的article1的所有字段值。
观察以下数据:
PubDate:1231846313
SendDate:1231846313
sortrank:1231846313
1231846313是时间数据。
然后就被换掉了。
复制代码如下:更新DEDE_档案集排序rank=1231846313
UPDATEdede_archivesSETsenddate=1231846313;
UPDATEdede_archivesSETpubdate=1231846313;
6.批量修改列是动态的或静态的。
复制代码如下:update`dede_arctype`set`isdefault`='-1'动态
update`dede_arctype`set`isdefault`='1'静态
7.文章内容批量替换SQL语句。
复制代码如下:update`dede_addonarticle`setbody=replace(body,'forum','community')其中bodylike“%forum%”
上面的SQL语句用于查找所有文章中带有“论坛”的短语,并将论坛替换为“社区”
8.添加自定义属性
复制代码如下:insertinto`dede_arcatt`(sortid,att,attname)值(9,'d','comment');
altertable`dede_archives`modify`flag`set('c','h','p','f','s','j','a','b','d')默认为NULL
9.批量为作者和来源赋值
复制代码如下:UPDATEdede_archivesSETwriter='要赋值的值'其中writer=
updatedede_archivessetsource='valuetoassigned'其中source=
10.更改缩略图目录
SQL命令:
复制代码代码如下:updatedede_archivessetlitpic=replace(litpic,'原来的字符','替换后的字符')
例如:
复制代码代码如下:updatedede_archivessetlitpic=replace(litpic,'uplimg,'tupian')
updatedede_addonarticlesetbody=replace(body,'src="/upimg/PSImg','src="/upimg/PSImage')wheretypeid=90;SQL命令:
复制代码如下:Updatedede_ARCHIVESSETLITPIC=REPLACE(LITPIC,'原字符',被替换的字符')
例如:
复制代码如下:UPDATED_ARCHIVESSETLITPIC=REPLACE(LITPIC,'UPLIMG,'TUPIAN')
UPDATED_ADDON文章集BODY=REPLACE(body,'src="/upimg/PSImg','src="/upimg/PSImage')其中typeid=90
调用SQL语句的DEDECMS数据的排序:
1.常用内容统计代码
文章总数:**文章
复制代码如下:{dede:SQLSQL="selectcount(*)ascfromdede_archiveswherechannel=1"}文章总数:[field:c/]文章{/dede:SQL}[/br/Br/]
复制代码如下:{dede:SQLSQLSQLSQL="selectcount(*)ascfromdede_archiveswherechannel=2"}。常用图集:[field:c/]件{/dede:SQL}
。常用软件:**件[复制代码如下:{dede:SQLSQL="selectcount(*)ascfromdede_archiveswherechannel=3"}。共享软件:[field:c/]{/dede:SQL}
。分享评论:*
复制代码如下:{dede:SQLSQL="selectcount(*)ascfromdede_feedback"}。总评论:[field:c/]{/dede:SQL}
。成员总数:**name
复制代码如下:{dede:SQLSQL="selectcount(mid)ascfromdede_member"}。成员总数:[field:c/]name{/dede:SQL}
。文章阅读:**人次
复制代码如下:{dede:SQLSQL="selectsum(click)ascfromdede_archives"}文章阅读:[field:c/]人次{/dede:SQL}
今日更新:**篇
复制代码如下:{dede:SQLSQLQL="selectcount(*)ascfromdede_archiveswherepubdate>;UNIX_TIMESTAMP(CURDATE())"}今日更新:[field:c/]articles{/dede:SQL}
消息总数:
复制代码如下:{dede:SQLSQLSQL="selectcount(*)asccfromdede_guestbook"}[
2.调用Discuz论坛附带图片的帖子。
复制代码如下:{dede:SQLSQL="Select`CDB_attachments`。`Aid',`CDB_Attachments'。`附件',`CDB_Threads'。`Tid',`CDB_Threads'。`cdb_attachments'中的`FID'`cdb_threads`.`subject'在`CDB_threads'上左连接`cdb_threads`.`tid``其中`cdb_attachments`.`readperm`='0'和`displayorder`>='0'和'filetype`='images/pjpeg'GROUPBYtidLIMIT0,2"}
{/dede:sql}
3.调用UCHOME的最新日志
复制代码如下:{dede:SQLSQLQL="selectsubject,viewnum,blogid,uidfromUCHOME_blogorderbyblogiddesclimit0,8"}
{/dede:SQL}
4.会员积分排名
复制代码如下:{dede:sqlsql="selectid,userid,uname,scoresfromdede_memberorderbyscoresdesc限制0,10"}
{/dede:SQL}
5.企业最新产品叫法(图片+标题)
复制代码如下:{dede:sqlsql="Selecta.id,a.litpic,a.titlefromdede_addonproductpleftjoindede_archivesaona.id=p.aidorderbya.iddesclimit0,4"}
{/
6.将最新加入的企业和企业的行业代码调用到首页。
复制代码如下:{dede:sqlsql="selectm.mid,m.mtype,m.userid,m.matt,c.mid,c.company,c.comface,d.ename,d.evalue,d.Egroupfromdede_sys_E_memberasmleftjoindede_member_companyconm.mid=c.mid其中m.mtype='enterprise'和m.matt=1和c.vocabulary=d.evalue和d.egroup='
7.推荐会员(带用户头像)
复制代码如下:{dede:SQLSQLSQL="SELECTID,Type,UserID,Uname,Matt,SpaceImages
Fromdede_member
其中Matt=1,Type=0
Limit0,10"}
头像:
用户名:[field:Uname/]
{/dede:SQL}
[field:SpaceImagesrunPHP='yes']
@me)@me='http://XXXX/uploadfile/2013/0502/20130502050436201.gif';
[/field:spaceimages]
是用户的头像图片
。如果用户头像是空,请更改要显示的图像。
8.给推荐的企业打电话。
复制代码如下:{dede:sqlsql="selectm.id,m.type,m.userid,m.matt,m.spaceimages,c.id,C.com名
fromdede_membermleftjoindede_member_cominfoconm.id=c.id
其中m.type=1,m.matt=1
limit0,10"}
头像:[/br]
9.UCenter家庭成员呼叫(带头像)
复制代码如下:{dede:sqlsql="select*from`uchome_space`where`avatar`=1limit0,10"}
[field:username/]
{/dede:SQL}
[field:subjectfunction="cn_substr('@me',30)"/]
[field:subjectfunction="cn_substr('@me',24)"/]
[field:unam
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)