SELECT * FROM dede_archives
,2. 获取文章详情:SELECT * FROM dede_archives WHERE id = 文章ID
,3. 获取栏目列表:SELECT * FROM dede_channel
,4. 获取栏目下的子栏目:SELECT * FROM dede_channel WHERE parentid = 栏目ID
,5. 获取指定栏目下的文章列表:SELECT * FROM dede_archives WHERE channel = 栏目ID
,6. 获取指定标签下的文章列表:SELECT * FROM dede_taglist WHERE tag = 标签名
,7. 获取指定作者的文章列表:SELECT * FROM dede_archives WHERE writer = 作者名
,8. 获取指定时间范围内的文章列表:`SELECT * FROM dede_archives WHERE pubdate >= 开始时间 AND pubdate在Dedecms中,SQL语句的应用非常广泛,无论是功能型的数据库操作还是内容调用型的数据展示,SQL语句都扮演着至关重要的角色,以下是一些常用的数据调用和功能型SQL语句的汇总:
功能型SQL语句
1、添加自定义属性
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;
2、批量为作者和来源赋值
UPDATE dede_archives SET writer='要赋的值' WHERE writer='';
UPDATE dede_archives SET source='要赋的值' WHERE source='';
3、删除指定IP的评论
DELETE FROM dede_feedback WHERE dede_feedback.ip = '000.000.000.000';
4、清空文章中关键字字段
UPDATE dede_archives SET keywords='';
5、批量替换发布时间、入库时间、更新时间
首先获取一个时间戳(20090113 14:13:32),然后执行以下SQL语句进行替换:
UPDATE dede_archives SET sortrank = 1231846313;
UPDATE dede_archives SET senddate = 1231846313;
UPDATE dede_archives SET pubdate = 1231846313;
6、批量修改栏目为动态或者静态
UPDATE dede_arctype SET isdefault = '1';
// 动态
UPDATE dede_arctype SET isdefault = '1';
// 静态
7、批量替换
UPDATE dede_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}
共有评论数
{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}条
常见问题解答(FAQs)
Q1: Dedecms中如何调用某个特定会员发布的文章?
A1: 使用以下SQL语句可以调用某个特定会员发布的文章:
{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}
mid
是会员ID,可以根据需要进行调整。
Q2: 如何在Dedecms中统计所有文章的阅读次数?
A2: 使用以下SQL语句可以统计所有文章的阅读次数:
{dede:sql sql="SELECT sum(click) as c FROM dede_archives"}文章阅读:[field:c /]人次{/dede:sql}
这条SQL语句会返回所有文章的阅读次数总和,并在页面上显示出来。
数据查询
查询全部数据
SELECT * FROM 表名;
查询指定字段
SELECT 字段1, 字段2 FROM 表名;
条件查询
SELECT * FROM 表名 WHERE 条件表达式;
模糊查询
SELECT * FROM 表名 WHERE 字段 LIKE '%关键词%';
排序查询
SELECT * FROM 表名 ORDER BY 字段 ASC/DESC;
分页查询
SELECT * FROM 表名 LIMIT 开始行数, 每页显示行数;
数据插入
插入单条数据
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
插入多条数据
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...), (值3, 值4, ...);
数据更新
更新单条数据
UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件表达式;
更新多条数据
UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件表达式1 OR 条件表达式2;
数据删除
删除单条数据
DELETE FROM 表名 WHERE 条件表达式;
删除多条数据
DELETE FROM 表名 WHERE 条件表达式1 OR 条件表达式2;
特殊操作
聚合函数
SELECT COUNT(*) FROM 表名; SELECT SUM(字段) FROM 表名; SELECT AVG(字段) FROM 表名; SELECT MAX(字段) FROM 表名; SELECT MIN(字段) FROM 表名;
子查询
SELECT * FROM 表名 WHERE 字段 IN (SELECT 字段 FROM 表名 WHERE 条件);
联合查询
SELECT * FROM 表名1, 表名2 WHERE 表名1.字段 = 表名2.字段;
SQL语句应根据实际数据库结构和需求进行调整,在使用这些语句时,请确保遵循数据库的安全规范,避免SQL注入等安全问题。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1141384.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复