通过DEDECMS后台的SQL指定条件删除文章

第一点: 织梦DEDECMS的文章是分别存储在三个表里面[addonarticle],[archives],[arctiny]通过addonarticle.aid、archives.id、arctiny.id关联,删除文章时,应该删除三个表里的记录.
第二点: 执行SQL可以从PHPMYADMIN,或者DEDECMS后台系统设置-SQL命令行工具里
第三点: 本次手动删除内容为空或者字数少于200的文章,分了两步分别删除两个表,总结代码如下:
1: 查看要删除文章的代码:

 代码如下 复制代码

select * from addonarticle where length(body)<200

2: 删除内容表.

 代码如下 复制代码

delete from addonarticle where length(body)<200  delete from addonarticle where length(body)<200

3: 查看要删除文章的第二个表的代码:

 

 代码如下 复制代码
left join addonarticle t2 on t1.id=t2.aid   04.where t2.aid is null and t1.channel=1  select *
from archives t1
left join addonarticle t2 on t1.id=t2.aid
where t2.aid is null and t1.channel=1

4: 删除第二个表.

 代码如下 复制代码
left join addonarticle t2 on t1.id=t2.aid   04.where t2.aid is null and t1.channel=1  DELETE archives t1
from archives t1
left join addonarticle t2 on t1.id=t2.aid
where t2.aid is null and t1.channel=1

5、查看要删除文章的第三个表的代码:

 

 代码如下 复制代码
left join addonarticle t2 on t1.id=t2.aid   04.where t2.aid is null and t1.channel=1  select *
from arctiny t1
left join addonarticle t2 on t1.id=t2.aid
where t2.aid is null and t1.channel=1

6: 删除第三个表.

 代码如下 复制代码

left join addonarticle t2 on t1.id=t2.aid   04.where t2.aid is null and t1.channel=1 

如果你不查看的话,直接执行第2,4,6步就可以了,其中t1.channel=1是只操作普通文章类别的意思,防止删除软件等其他类别。

 

时间: 2024-07-29 15:16:12

通过DEDECMS后台的SQL指定条件删除文章的相关文章

如何在 SQL SERVER 中快速有条件删除海量数据_MsSql

最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用.     如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占

如何在 SQL SERVER 中快速有条件删除海量数据

最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用. 如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除大数据量的表速度会很慢,同时会占用很多的

Sql server快速有条件删除海量数据

最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用,再者也好长没写过BLOG了,一起探讨一下 如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速度要求比较高,并清除所有的数据建议你用turncate table1,因为truncate 是DDL操作,不产生rollback,不写日志速度快一些,然后如果有自增的话,恢复到1开始,而delete会产生rollback,如果删除

如何在SQLSERVER中快速有条件删除海量数据

server|sqlserver|数据|条件    1.SQLSERVER数据库改bit类型为 not Boolean(即,true改成false;false改成true) 例:update 表 set bit字段=bit字段-1最近有个朋友问我,他说他在SQLSERVER删除几百万到几千万数据是显的很慢,帮他分析了一下,提了一些以下意见,或许对很多人有用,再者也好长没写过BLOG了,一起探讨一下 如果你的硬盘空间小,并且不想设置数据库的日志为最小(因为希望其他正常的日志希望仍然记录),而且对速

asp实现获取MSSQL数据库表指定条件行数的函数

 这篇文章主要介绍了asp实现获取MSSQL数据库表指定条件行数的函数的的相关资料,需要的朋友可以参考下       代码如下: '数据库表行数函数,这是取表的行数 Function GetTblRows(TblName) '如果TblName表名值为空,则 if TblName="" Then GetTblRows="未知TblName" exit Function Else set rec = server.createobject("adodb.re

SQL Server 2005删除日志文件的几种方法

  使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了.因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日志在清除数据库日志. 一.删除LOG 1.分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库--右键--任务--分离. 勾选删除连接 分离后在数据库列表将看不到已分离的数据库. 2.删

SQL Server 2005删除日志文件的几种方法小结

SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日志在清除数据库日志   使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了.因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增 加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删 除log文件和清空日志在清除数据库日志. 一.删除LOG 1.分离数据库.分离

linux-shell脚本遍历目录,按照指定条件删除目录及其子文件

问题描述 shell脚本遍历目录,按照指定条件删除目录及其子文件 目录的结构为 A/年/月/日/随机数/随机数/随机数/随机数/ 例如 A/2013/06/18/1/2/3/4/5 现在的删除目录的规则为:(只需要递归循环前4级目录) 如果第2级目录(目录名)(年)小于当前所在年份.直接删除该目录及其子目录文件. 如果第3级目录(月)的目录写入日期小于当前日期60天,直接删除该目录及其子目录文件. 如果第4级目录(月)的目录写入日期小于当前日期60天,直接删除该目录及其子目录文件. 解决方案 看

用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等_MsSql

用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法 sp_rename