- 在后台手动少量删除:适用于删除一篇文章或几篇文章。
- 通过SQL语句批量删除:适用于需要删除大量文章(例如删除某个栏目下所有文章)。
下面我将详细介绍这两种方法。

(图片来源网络,侵删)
后台手动删除(推荐用于少量文章)
这是最常规、最安全的方法。
步骤:
-
登录DedeCMS后台:使用你的管理员账号登录网站后台。
-
进入文章管理:在左侧菜单栏中,找到并点击 -> “所有档案”。
(图片来源网络,侵删) -
找到目标文章:
- 在文章列表页面,你可以直接浏览找到你要删除的文章。
- 如果你知道文章的标题或部分标题,可以使用顶部的 “关键字搜索” 功能快速定位。
- 关键一步:在文章列表的表头,找到 “ID” 这一列,它默认可能不显示,如果看不到,可以尝试点击列表上方的“设置”或“显示/隐藏列”来确保ID列可见。
-
执行删除操作:
- 删除单篇文章:在目标文章所在行的最右侧,找到 “删除” 按钮并点击它。
- 批量删除多篇文章:
- 在每篇文章最前面的复选框中,勾选你想要删除的所有文章。
- 勾选完成后,点击列表上方的 “删除” 按钮。
-
确认删除:系统会弹出一个确认对话框,询问你“确实要删除选定的文档吗?”,点击 “确定” 即可。
注意:

(图片来源网络,侵删)
- 删除文章后,默认情况下,文章会进入回收站,而不是立即从数据库中永久删除,这给了你一个反悔的机会。
- 如果你想彻底清空回收站,可以在后台找到 -> 回收站”,然后清空。
使用SQL语句批量删除(适用于大量文章)
当你需要删除成百上千篇文章,或者需要根据特定条件(如某个栏目ID)删除所有文章时,手动操作效率极低,这时,使用数据库SQL语句是最佳选择。
⚠️ 重要警告: 操作数据库有风险!请务必备份数据库! 在执行任何删除操作前,请确保你已经对网站的数据库进行了完整备份,如果操作失误,可能会导致数据丢失,备份是唯一的恢复手段。
步骤:
-
登录数据库管理工具:
- 方法A(推荐):通过DedeCMS后台,在左侧菜单栏中,点击 “系统” -> “数据库备份/还原” -> “SQL命令行工具”。
- 方法B:通过你的主机控制面板(如cPanel、宝塔面板等)进入phpMyAdmin,选择你的DedeCMS数据库。
-
编写并执行SQL语句:
在SQL命令行工具或phpMyAdmin的SQL输入框中,输入以下命令之一,然后点击“执行”。
-
场景1:删除指定ID的单篇文章
DELETE FROM `dede_archives` WHERE id = '1234';
dede_archives:这是DedeCMS存储文章核心信息的表名,如果你的数据库表前缀不是dede_(例如你修改过),请替换成你自己的表前缀。id = '1234':将1234替换成你要删除的文章的真实ID。
-
场景2:删除多个指定ID的文章
DELETE FROM `dede_archives` WHERE id IN (123, 456, 789, 1001);
- 将
123, 456, 789, 1001替换成你想要删除的所有文章ID,用英文逗号隔开。
- 将
-
场景3:删除某个栏目ID下的所有文章
DELETE FROM `dede_archives` WHERE typeid = '5';
typeid = '5':将5替换成你要清空的文章栏目的真实ID,这会删除该栏目下所有已发布的文章。
-
场景4:删除标题包含特定关键词的文章
DELETE FROM `dede_archives` WHERE title LIKE '%测试文章%';
LIKE '%测试文章%': 是通配符,表示任意字符,这句会删除标题中包含“测试文章”四个字的所有文章。
-
-
处理关联数据:
-
dede_archives表只存储了文章的基本信息(标题、内容、ID等)。 -
一篇文章还可能存在于其他关联表中,
dede_arctiny:文章简略信息表。dede_addonarticle:文章附加表(如果使用了自定义字段)。dede_taglist:文章标签关联表。
-
为了彻底删除,建议你也一并清理这些表,删除ID为1234的文章后,最好再执行以下语句:
-- 删除文章简略信息 DELETE FROM `dede_arctiny` WHERE id = '1234'; -- 删除文章附加信息(如果存在) DELETE FROM `dede_addonarticle` WHERE aid = '1234'; -- 删除标签关联 DELETE FROM `dede_taglist` WHERE aid = '1234';
-
批量删除栏目文章时,关联表的删除语句可以这样写(以删除栏目ID为5的文章为例):
DELETE FROM `dede_arctiny` WHERE typeid = '5'; DELETE FROM `dede_addonarticle` WHERE typeid = '5'; -- 注意:addonarticle表里存的是aid,不是typeid,这里需要根据实际情况调整,通常需要先根据typeid查出aid再删除 -- 更安全的做法是先查出所有aid,再删除 -- DELETE FROM `dede_addonarticle` WHERE aid IN (SELECT id FROM `dede_archives` WHERE typeid = '5'); DELETE FROM `dede_taglist` WHERE aid IN (SELECT id FROM `dede_archives` WHERE typeid = '5');
-
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 后台手动删除 | 操作简单、直观、安全,有回收站机制。 | 效率低,不适合大量删除。 | 删除少量、特定的文章。 |
| SQL语句删除 | 速度快,效率高,可以灵活地根据各种条件批量删除。 | 有风险,操作不当会误删数据,需要备份数据库。 | 需要删除大量文章,或按特定条件(如栏目ID)清空内容。 |
对于绝大多数情况,方法一 已经足够,只有在处理大规模数据时,才需要谨慎地使用 方法二,再次强调,操作SQL前务必备份数据库!
