SELECT * FROM dede_archives
,2. 按分类查询文章:SELECT * FROM dede_archives WHERE typeid=1
,3. 查询某个栏目下的文章:SELECT * FROM dede_archives WHERE mid=1
,4. 按点击量排序查询文章:SELECT * FROM dede_archives ORDER BY click DESC
,5. 查询最新发布的5篇文章:SELECT * FROM dede_archives ORDER BY pubdate DESC LIMIT 5
DedeCMS模板中常用的SQL语句收录如下:
功能型SQL语句
1、添加自定义属性
插入数据
insert intodede_arcatt
(sortid,att,attname) values(9,'d','评论');
修改表结构
alter tabledede_archives
modifyflag
set ('c','h','p','f','s','j','a','b','d') default NULL;
2、批量为作者和来源赋值
UPDATE dede_archives SET writer='要赋的值' WHERE writer=''; UPDATE dede_archives SET source='要赋的值' WHERE source='';
3、删除指定IP的评论
DELETE FROMdede_feedback
WHEREdede_feedback
.ip
= '000.000.000.000';
4、清空文章中关键字字段
update dede_archives set keywords='';
5、批量替换发布时间,入库时间,更新时间
SELECT * FROM dede_archives order by id DESC limit 1; UPDATE dede_archives SET sortrank = 1231846313; UPDATE dede_archives SET senddate = 1231846313; UPDATE dede_archives SET pubdate = 1231846313;
6、批量修改栏目为动态或者静态
UPDATEdede_arctype
SETisdefault
= '1'; //动态 UPDATEdede_arctype
SETisdefault
= '1'; //静态
7、批量替换SQL语句
updatedede_addonarticle
set body=REPLACE(body,'论坛','社区') where body like "%论坛%";
调用型SQL语句
1、标签说明:常用内容统计代码
文章数量
{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}
2、会员数量
{dede:sql sql="select count(mid) as c from dede_member "}·共有会员:[field:c /]名{/dede:sql}
3、文章阅读人次
{dede:sql sql="select sum(click) as c from dede_archives"}文章阅读:[field:c /]人次{/dede:sql}
4、今日更新文章数
{dede:sql sql="SELECT count() AS c FROM dede_archives WHERE pubdate > UNIX_TIMESTAMP( CURDATE( ) ) "}今日更新[field:c /]篇{/dede:sql}
FAQs
1、如何调用某个特定会员发布的文章内容?
答案:可以使用以下SQL语句来调用某个特定会员(假设用户ID为1)发布的文章内容:
{dede:sql sql='Select * from dede_archives where mid=1'} <a href='/plus/view.php?aid=[field:id/]' target='_blank'>[field:title/]</a> {/dede:sql}
2、如何批量替换所有文章中的“论坛”为“社区”?
答案:使用以下SQL语句可以查找所有文章带有“论坛”的词组,并将论坛替换为“社区”:
updatedede_addonarticle
set body=REPLACE(body,'论坛','社区') where body like "%论坛%";
序号 | SQL语句描述 | 例子 | |
1 | 查询所有数据 | SELECT * FROM 表名; | |
2 | 查询特定字段的数据 | SELECT 字段1, 字段2 FROM 表名; | |
3 | 添加新记录到表中 | INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); | |
4 | 更新表中的记录 | UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件; | |
5 | 删除表中的记录 | DELETE FROM 表名 WHERE 条件; | |
6 | 查询特定条件的数据 | SELECT * FROM 表名 WHERE 条件; | |
7 | 排序查询结果 | SELECT * FROM 表名 ORDER BY 字段1, 字段2 [ASC | DESC]; |
8 | 限制查询结果的数量 | SELECT * FROM 表名 LIMIT 开始位置, 数量; | |
9 | 联合查询(多表查询) | SELECT 字段 FROM 表1, 表2 WHERE 表1.字段 = 表2.字段; | |
10 | 内连接查询(JOIN) | SELECT 字段 FROM 表1 INNER JOIN 表2 ON 表1.字段 = 表2.字段; | |
11 | 左连接查询(LEFT JOIN) | SELECT 字段 FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段; | |
12 | 右连接查询(RIGHT JOIN) | SELECT 字段 FROM 表1 RIGHT JOIN 表2 ON 表1.字段 = 表2.字段; | |
13 | 全连接查询(FULL JOIN) | SELECT 字段 FROM 表1 FULL JOIN 表2 ON 表1.字段 = 表2.字段; | |
14 | 使用子查询进行查询 | SELECT * FROM 表名 WHERE 条件 IN (SELECT 字段 FROM 表2 WHERE 条件); | |
15 | 使用聚合函数进行统计 | SELECT COUNT(*) FROM 表名; | |
16 | 使用聚合函数计算平均值 | SELECT AVG(字段) FROM 表名; | |
17 | 使用聚合函数计算最大值 | SELECT MAX(字段) FROM 表名; | |
18 | 使用聚合函数计算最小值 | SELECT MIN(字段) FROM 表名; | |
19 | 使用聚合函数计算总和 | SELECT SUM(字段) FROM 表名; | |
20 | 使用IF…ELSE条件语句 | SELECT IF(条件, 值1, 值2) FROM 表名; | |
21 | 使用CASE语句进行条件查询 | SELECT CASE 条件1 WHEN 条件2 THEN 值1 ELSE 值2 END FROM 表名; | |
22 | 使用LIKE进行模糊查询 | SELECT * FROM 表名 WHERE 字段 LIKE '模式'; | |
23 | 使用IS NULL和IS NOT NULL进行空值查询 | SELECT * FROM 表名 WHERE 字段 IS NULL; |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1221417.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复