我们在使用织梦DedeCMS的过程中,有时候需要处理大批量的数据,特别是采集或者以前的数据需要批量修改,手工是完全改不过来的。织梦程序已经为我们想到了这点,可以使用SQL语句处理。在织梦的系统>>系统设置>>SQL命令行工具里面输入正确的SQL语句就可以批量对文档、会员等进行操作了。
基于此,正确的SQL语句就显得非常重要了。No牛网整理了一批织梦DedeCMS常用的SQL语句,不过需要特别注意的是,无论SQL语句正常与否,在使用SQL语句时,都要特别谨慎。一个不小心,就可能导致你的数据全部丢失了,所以数据备份显得非常重要。下面就是一些比较常见的Dede的SQL语句:
清空所有注册会员内容:
DELETE FROM `dede_member` WHERE `dede_member`.`mid` != 1;TRUNCATE TABLE `dede_member_flink`;TRUNCATE TABLE `dede_member_person`;TRUNCATE TABLE `dede_member_space`;TRUNCATE TABLE `dede_member_tj`;
添加自定义属性:
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;
批量为作者和来源赋值
UPDATE dede_archives SET writer='要赋的值' WHERE writer='';UPDATE dede_archives SET source='要赋的值' WHERE source='';
删除指定IP的评论
DELETE FROM `dede_feedback` WHERE `dede_feedback`.`ip` = '000.000.000.000' //000.000.000.000 为垃圾评论发布者的IP
清空文章中关键字字段
update dede_archives set keywords=''
批量替换发布时间,入库时间,更新时间
第一步。在后台新增一个文章。得到一个时间,比如2009-01-13 14:13:32,这可以通过管理文章那里看到。
第二步,后台执行SQL语句SELECT * FROM dede_archives order by id DESC limit 1;这样你可以看到你刚才新加加的文章一所有字段值。
观察以下的数据:pubdate:1231846313 senddate:1231846313 sortrank:1231846313其中1231846313就是时间数据了。然后就是替换了。
UPDATE dede_archives SET sortrank = 1231846313;UPDATE dede_archives SET senddate = 1231846313;UPDATE dede_archives SET pubdate = 1231846313;
批量修改栏目为动态或者静态
UPDATE `dede_arctype` SET `isdefault` = '-1' 动态;UPDATE `dede_arctype` SET `isdefault` = '1' 静态;
文章内容批量替换SQL语句
update `dede_addonarticle` set body=REPLACE(body,'论坛','社区') where body like "%论坛%";
以上SQL语句作用是查找所有文章带有“论坛”的词组,并将论坛替换为“社区”
更改缩略图目录
update dede_archives set litpic=replace(litpic,'原来的字符','替换后的字符')//例如:update dede_archives set litpic=replace(litpic,'uplimg,'tupian')
批量设置文章图片属性
update `dede_archives` set flag='p' WHERE flag='';
将所有文档设置为“仅动态”
update dede_archives set ismake=-1;
将所有栏目设置为“使用动态页”
update dede_arctype set isdefault=-1;
批量设置已审核文章为未审核
update dede_archives set arcrank=-1;update dede_arctiny set arcrank=-1;update dede_taglist set arcrank=-1;
批量设置 已生成html状态为未生成
Update dede_archives set ismake=0;
dede文章删除后id从1开始设置方法,只需要执行三条SQL语句就可以了
ALTER TABLE `dede_archives` AUTO_INCREMENT =1; //主表ALTER TABLE `dede_arctiny` AUTO_INCREMENT =1; //微表ALTER TABLE `dede_addonarticle` AUTO_INCREMENT =1; //附加表
很多人 都是只将主表dede_archives id设置为了1,这样还不行。一定要同时将微表dede_arctiny和附加表dede_addonarticle一并执行了这样id才可从1开始。
注意:前面加//不是SQL语句的内容,只是借用PHP的注释,解释SQL语句的用法和作用,实际操作时请不要放入织梦SQL命令行工具输入框中。
因为织梦DedeCMS的SQL语句就是对织梦的数据库进行批量操作,如果你对SQL语句有所了解,也知道织梦的数据库结构,那上面的这些SQL语句完全可以自己写,或者直接在Mysql数据库里面进行操作。当然,No牛网整理的这些织梦SQL语句是非常少的,在以后的过程中,会慢慢加入更多的SQL语句。如果你觉得这些SQL语句还有点用,那就把No牛加入收藏,方便查看最新的SQL语句。