织梦 删除内容 sql命令

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 织梦建站 正文

核心步骤:如何在织梦后台执行 SQL 命令

在执行任何删除命令之前,您需要先知道在哪里输入。

  1. 登录织梦后台:使用您的管理员账号登录。
  2. 进入 SQL 命令工具
    • 在顶部菜单栏找到 【系统】 -> 【SQL命令行工具】
    • 点击进入后,您会看到一个文本框,这就是您输入 SQL 命令的地方。
  3. 执行命令
    • 将您准备好的 SQL 删除命令粘贴到文本框中。
    • 点击 【提交执行】 按钮。
  4. 确认结果

    系统会执行命令并返回受影响的行数,请仔细核对返回结果,确保删除的是您想要的内容。


常见删除场景及 SQL 命令示例

场景 1:根据文章 ID 删除指定内容(最常用)

这是最直接、最安全的方式,如果您知道要删除的文章的 ID 号,可以直接删除。

命令格式:

DELETE FROM `dede_archives` WHERE id = '文章ID';
  • dede_archives 是织梦主表(文章表)的默认表名,如果您在安装时修改了表前缀,请替换成您自己的表前缀,yourprefix_archives
  • id 是文章的唯一标识符。
  • '文章ID' 是您要删除的文章的具体 ID 号,100

示例:删除 ID 为 123 的文章

DELETE FROM `dede_archives` WHERE id = '123';

⚠️ 重要提示:仅仅删除 dede_archives 表中的记录是不够的!织梦的文章数据分布在多个表中,为了彻底删除,避免产生“数据孤岛”,建议您执行以下完整删除命令

完整删除指定 ID 的文章(推荐):

-- 1. 删除主表数据
DELETE FROM `dede_archives` WHERE id = '123';
-- 2. 删除附加表数据(如果文章有属性,如图集、软件等)
DELETE FROM `dede_addonarticle` WHERE aid = '123';
-- 3. 删除标签关系数据(避免后台标签统计错误)
DELETE FROM `dede_taglist` WHERE aid = '123';
-- 4. 删除评论数据
DELETE FROM `dede_feedback` WHERE aid = '123';
-- 5. 删除自定义字段数据(如果使用了)
DELETE FROM `dede_arctiny` WHERE id = '123';

说明dede_arctiny 是一个简略表,通常也包含文章 ID。dede_addonarticle 是附加表,存储了文章的详细内容,比如图集的图片列表、软件的下载地址等。


场景 2:根据栏目 ID 删除栏目下的所有内容

如果您想清空某个栏目下的所有文章,可以根据栏目 ID 来批量删除。

命令格式:

DELETE FROM `表名` WHERE typeid = '栏目ID';

示例:删除栏目 ID 为 5 下的所有文章

-- 1. 删除主表数据
DELETE FROM `dede_archives` WHERE typeid = '5';
-- 2. 删除附加表数据
DELETE FROM `dede_addonarticle` WHERE typeid = '5';
-- 3. 删除标签关系数据
DELETE FROM `dede_taglist` WHERE typeid = '5';
-- 4. 删除评论数据
DELETE FROM `dede_feedback` WHERE typeid = '5';
-- 5. 删除自定义字段数据
DELETE FROM `dede_arctiny` WHERE typeid = '5';

场景 3:根据文章标题删除内容

如果您只知道文章的关键词或标题的一部分,可以使用 LIKE 来模糊匹配。

命令格式:

DELETE FROM `dede_archives` WHERE title LIKE '%关键词%';
  • 是通配符,代表任意长度的任意字符。
  • '%关键词%' 表示标题中包含“关键词”的文章都会被删除。

示例:删除标题中包含“测试报告”的所有文章

-- 1. 删除主表数据
DELETE FROM `dede_archives` WHERE title LIKE '%测试报告%';
-- 2. 删除附加表数据(需要先查询出这些文章的 aid,再删除)
-- 这是一个两步操作,更安全的方式是先查询出 ID,再根据 ID 删除。
-- 查询ID: SELECT id FROM `dede_archives` WHERE title LIKE '%测试报告%';
-- 然后根据查询出的ID列表,去删除其他表的数据。
-- 为了简化,这里直接按 typeid 删除附加表(如果标题和栏目关联性强的话)
DELETE FROM `dede_addonarticle` WHERE aid IN (SELECT id FROM `dede_archives` WHERE title LIKE '%测试报告%');
-- 3. 删除标签关系数据
DELETE FROM `dede_taglist` WHERE aid IN (SELECT id FROM `dede_archives` WHERE title LIKE '%测试报告%');
-- 4. 删除评论数据
DELETE FROM `dede_feedback` WHERE aid IN (SELECT id FROM `dede_archives` WHERE title LIKE '%测试报告%');
-- 5. 删除自定义字段数据
DELETE FROM `dede_arctiny` WHERE id IN (SELECT id FROM `dede_archives` WHERE title LIKE '%测试报告%');

说明:使用 IN (SELECT ...) 是一种子查询方式,可以确保只删除那些在主表中已经匹配到的文章的相关数据,非常安全。


场景 4:删除指定时间段之前的内容

删除一年前发布的所有文章。

命令格式:

DELETE FROM `表名` WHERE senddate < UNIX_TIMESTAMP('日期');
  • senddate 字段存储的是文章发布时间的时间戳(Unix 时间戳)。
  • UNIX_TIMESTAMP('日期') 函数可以将一个日期字符串(如 '2025-01-01')转换成时间戳。

示例:删除 2025年1月1日 之前发布的所有文章

-- 1. 删除主表数据
DELETE FROM `dede_archives` WHERE senddate < UNIX_TIMESTAMP('2025-01-01 00:00:00');
-- 2. 删除附加表数据
DELETE FROM `dede_addonarticle` WHERE aid IN (SELECT id FROM `dede_archives` WHERE senddate < UNIX_TIMESTAMP('2025-01-01 00:00:00'));
-- 3. 删除标签关系数据
DELETE FROM `dede_taglist` WHERE aid IN (SELECT id FROM `dede_archives` WHERE senddate < UNIX_TIMESTAMP('2025-01-01 00:00:00'));
-- 4. 删除评论数据
DELETE FROM `dede_feedback` WHERE aid IN (SELECT id FROM `dede_archives` WHERE senddate < UNIX_TIMESTAMP('2025-01-01 00:00:00'));
-- 5. 删除自定义字段数据
DELETE FROM `dede_arctiny` WHERE id IN (SELECT id FROM `dede_archives` WHERE senddate < UNIX_TIMESTAMP('2025-01-01 00:00:00'));

极其重要的注意事项

  1. 【首要】备份数据库!

    • 在执行任何 DELETE 操作前,请务必通过织梦后台的【系统】->【数据库备份/还原】功能,或使用 phpMyAdmin 导出您的整个数据库,这是防止误操作导致数据丢失的唯一有效方法。
  2. 确认表前缀

    • 织梦默认的表前缀是 dede_,但很多用户在安装时会修改成自己的,如 cms_my_ 等,请务必在 SQL 命令中使用您自己正确的表前缀。
  3. 从测试环境开始

    如果可能,先在本地或测试服务器上模拟操作,确认 SQL 命令的正确性,再应用到正式网站。

  4. 小心 DELETE FROM 不带 WHERE 条件

    • DELETE FROM dede_archives; 这样的命令会清空整个表,千万不要轻易执行!
  5. 删除后更新系统缓存

    执行完删除操作后,建议到织梦后台的【系统】->【一键更新缓存】中更新一下相关缓存,以确保数据一致性。

  6. 权限问题

    • 确保您的数据库用户有执行 DELETE 命令的权限,网站后台管理员账户是具备这个权限的。

希望这份详细的指南能帮助您安全、高效地管理织梦网站内容!

-- 展开阅读全文 --
头像
dede如何用关键词调用相关文章?
« 上一篇 2025-12-31
C语言如何调用Windows API?
下一篇 » 2025-12-31

相关文章

取消
微信二维码
支付宝二维码

目录[+]