如何用sql批量删除一个id段内的dedecms文章?

  之前因为ytkah批量添加了dedecms文章,数量有些多,后面出现问题了,想要删除一部分织梦文章,后台一篇篇删,删到手软(相关内容:修改dedecms关键词到手软),于是就想到了sql数据库操作!那么,如何用sql语句批量删除一个id段内的dedecms文章呢?比如id从300到500之间的文章。

  首先我们得先知道dedecms文章最常用到哪些数据表。从上一篇文章我们清楚了dedecms文章标题在dede_archives里,dedecms文章内容在dede_addonarticle里,then我们就先从这边入手。

  养成个好习惯,操作数据库前先备份一下,不然哭天喊地也无济于事!还有你也可以搭建一个本地服务器,就像ytkah就喜欢这种方式,WampServer是个不错的选择。

  Are you ready?现在开始见证奇迹的发生吧!进入数据表dede_addonarticle,点击sql(一般phpmyadmin都有),我们先测试一下sql select语句,不急着直接用sql删除语句

SELECT *
FROM `dede_addonarticle`
WHERE `aid` >=300
AND `aid` <=500

   执行sql选择语句,下面是不是列出了id从300到500之间的dedecms文章?上面用到了SQL AND运算符,要了解更多请参考w3cschool.cn。好,测试成功了就上大刀了,

DELETE FROM `dede_addonarticle` WHERE `aid` >=300 AND `aid` <=500

   再看下dede_addonarticle列表,文章是不是消失了?神奇吧?

  下一步,清理dede_archives里的门户:dedecms文章标题,这个要稍微注意一下,dede_archives可能还包含专题文章的标题,如下图中id为6的是一个dedecms专题文章的标题,如果你有创建专题的话不要删除了噢!

  点击进入dede_archives,执行sql删除语句

DELETE FROM `dede_archives` WHERE `aid` >=300 AND `aid` <=500

  更正一下,dede_archives里不是"aid",应该是"id"

  不知道dedecms标题在数据库哪里,赶紧去看看

  到此,批量删除一个id段内的dedecms文章就finish了,good luck!

时间: 2024-07-28 17:28:38

如何用sql批量删除一个id段内的dedecms文章?的相关文章

sql批量删除数据的几种方法介绍

sql批量删除数据的几种方法介绍 a是A表的一列,存在a=1的数据 1.Delete from A where exists (Select 1 where a=1)  2.Delete from A where exists (Select 1 from A where a=1) 结果 1:只删除a=1一条数据,2:删除所有数据. ,里面的数据是yyyy.mm.dd格式的,另外由表单提交要删除的某一年的数据,该表单名为Year,我现在想通过一个SQL语句批量删除某一年的所有记录,比如删除所有该

如何用sql=select 语句来调用指定某个区间的文章

问题描述 如何用sql=select 语句来调用指定某个区间的文章 原来的编码是这样的,调用前8条新闻: sql="select top 8 * from Southidc_News where ViewFlag and SortID=2 order by NoticeFlag asc,id desc" 我想调用指定的第2条到第5条(指定区间的文章),该怎么改写啊? 解决方案 说白了,你无非就是需要一个服务器sql分页的代码. 不确定你用的是什么sql ,mysql oracle还是m

sql批量删除数据与批量删除数据库表语句

游标删除方法  代码如下 复制代码 //定义游标 DECLARE tables_cursor CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' //选择用户表名 OPEN tables_cursor //打开游标连接   DECLARE @tablename sysname // 定义变量 FETCH NEXT FROM tables_cursor INTO @tablename //结果集中一行一行读取表名 WHILE (@@FET

sql批量删除数据的语句

删除A表的a列等于1的数据  代码如下 复制代码 Delete from A where exists (Select 1 from A where a=1) 上面的方法只适用于简单小数据量的批量数据删除了,如果是大批量数据删除我们可参考下面方法    代码如下 复制代码 Create PROCEDURE Batch_Delete @TableName nvarchar(100), --表名 @FieldName nvarchar(100), --删除字段名 @DelCharIndexID nv

SQL 批量删除数据表

declare @name varchar(200) while(exists(select * from sysobjects where name like '表名前缀%')) begin select @name=name from sysobjects where name like '表名前缀%' exec ('drop table '+@name) end  

定时删除一个文件夹内的所有子文件夹和文件的方法_DOS/BAT

在win9x的年代,用deltree这个外部命令就很容解决这个问题,不过从windows 2000 及windows xp之后,就取消了这个命令(真的是很奇怪),那么现在怎么解决呢?大家可能想到用 del+rd来解决这个问题.但有个问题,就是rd命令会删除您指定的目录.例如,当前目录结构如下: D:\>attrib /s /d d:\test\*.* A    R  I    D:\test\1.txt          此文件带有只读属性 A   H   I    D:\test\2.txt 

如何用SQL命令行工具删除dedecms指定id文章

用dedecms采集时标题字段设置错了,出现了注释符号<!---->,导致后台的文章列表出现错误,也无法直接从列表中删除,可以远程登录数据库去操作,这个相对比较麻烦,想着直接从后台的SQL命令行工具删除.修改前先做好备份,以防万一.找到"系统" - 系统设置 - SQL命令行工具删除,输入如下代码 DELETE FROM dede_addonarticle WHERE aid =347; DELETE FROM dede_arctiny WHERE id =347; DEL

asp 保存数据与批量删除数据方法

文章来提供一篇asp教程 保存数据与批量删除数据方法哦,在asp中保存数据到数据库教程也有很多种方法,我们只说了二种,同时删除数据也有很多方法,单条删除,批量删除,会用到for ,in来 实现. 注意:不同的字段名用英文逗号隔开,且不支持星号 表名处输入要查询的表名:如:table1 前台表单页面: 主要是注意input字段的name属性. asp下常用的添加数据代码是: 通过adodb.recordset 优点是:数据库入库比较简单,不用考虑单引号问题.不容易出现错误. 代码如下: usern

ibatis-sql 批量更新 一个(还有多个选项的)字段

问题描述 sql 批量更新 一个(还有多个选项的)字段 有2张表 一个学生表,一个状态表 学生表里面有个字段是学生奖项(1,2,3) 对应的奖项名称是状态表里面的内容. !!! 主要内容: 是通过学生的id(批量)修改奖项(awards)这个字段,每个青年的奖项可能不同(如:A学生有:2,3.B学生有:3,4).奖项也是含有多个值的(如1,2,3,4,5..) 现在要去掉其中一个奖项,或者增加一个奖项. sql语句要如何写?用ibatis如何操作. 解决方案 下面是对SQL Server的,如果