做好一个网站从认识站长百科教程网开始!快来>>>文章投稿
站长百科教程网:全方位站长技能、SEO优化学习平台!
当前位置:网站首页 > Discuz!百科 > 正文

DISCUZ论坛常用批量修改SQL语句汇总

作者:admin发布时间:2023-09-13分类:Discuz!百科浏览:138评论:0


导读:我们在用DISCUZ论坛做网站时,经常需要对论坛内容进行批量修改,如果不采用数据库批量修改,就会把你累爬下。下面是站长百科教程网汇总的DISCUZ论坛常用批量修改SQL语句,根据自...

我们在用DISCUZ论坛做网站时,经常需要对论坛内容进行批量修改,如果不采用数据库批量修改,就会把你累爬下。下面是站长百科教程网汇总的DISCUZ论坛常用批量修改SQL语句,根据自己的需要,使用常用SQL语句。注意在使用SQL语句前,一定要备份自己网站的数据库。


DISCUZ论坛常用批量修改SQL语句汇总  第1张

DISCUZ论坛常用批量修改SQL语句汇总:



1. 开启所有板块的特殊主题:


UPDATE `cdb_forums` SET `allowpostspecial` = '31';

-- 开启特殊主题功能,允许在所有板块中发布特殊主题类型的帖子



2. 调整某个帖子的点击数:


UPDATE `cdb_threads` SET `views` = '新的点击数' WHERE `tid` = '主题编号';

-- 将指定帖子的点击数调整为新的点击数



3. 开启所有板块的媒体代码:


UPDATE `cdb_forums` SET `allowmediacode` = '1';

-- 开启媒体代码功能,允许在所有板块中使用媒体代码



4. 调整所有用户最大头像尺寸(像素)为120:


UPDATE `cdb_settings` SET `value` = '120' WHERE `variable` = 'maxavatarpixel';

-- 将所有用户的最大头像尺寸设置为120像素



5. 一次性关闭板块fid20的所有帖子:


UPDATE `cdb_threads` SET `closed` = '1' WHERE `fid` = 20;

-- 关闭所有在板块fid20中的帖子



6. 将发帖数为0的用户都转到某个用户组:


UPDATE `cdb_members` SET `groupid` = '目标用户组ID' WHERE `posts` = 0;

-- 将所有发帖数为0的用户转移到目标用户组



7. 开启全部用户组的邀请注册权限并设置价格:


UPDATE `cdb_usergroups` SET `allowinvite` = '1', `inviteprice` = '价格';

-- 开启所有用户组的邀请注册权限,并设置邀请码价格



8. 去除水印图片类型:


REPLACE INTO `cdb_settings` VALUES ('watermarktype', '0');

-- 将水印图片类型设置为0,即去除水印



9. 调整用户最后登录时间为2007年8月10日:


UPDATE `cdb_members` SET `lastpost` = '1186675200';

-- 调整用户的最后登录时间为2007年8月10日的时间戳



10. 调整板块隐藏状态:


UPDATE `cdb_forums` SET `status` = '1', `lastpost` = '' WHERE `fid` = 6 LIMIT 1;

-- 将板块fid=6的状态设置为显示,并清空最后帖子信息



11. 完整关闭supeSite的SQL语句:


UPDATE `cdb_settings` SET `value` = '' WHERE `variable` = 'supe_siteurl';

UPDATE `cdb_settings` SET `value` = '' WHERE `variable` = 'supe_sitename';

UPDATE `cdb_settings` SET `value` = '0' WHERE `variable` = 'supe_status';

UPDATE `cdb_settings` SET `value` = '' WHERE `variable` = 'supe_tablepre';

UPDATE `cdb_settings` SET `value` = '0' WHERE `variable` = 'supe_circlestatus';

-- 完全关闭supeSite相关设置



12. 将A板块的所有帖子转到B板块的C分类里:


UPDATE `cdb_threads` SET `fid` = 'B板块ID', `typeid` = 'C分类的ID' WHERE `fid` = 'A板块ID';

UPDATE `cdb_posts` SET `fid` = 'B板块ID' WHERE `fid` = 'A板块ID';

-- 将A板块的帖子移动到B板块的C分类下,并更新回帖的板块信息



13. 去除后台管理员IP登录限制:


UPDATE `cdb_settings` SET `value` = '' WHERE `variable` = 'adminipaccess' LIMIT 1;

-- 清空后台管理员IP登录限制



14. 删除风格5:


DELETE FROM `cdb_styles` WHERE `styleid` = 5 LIMIT 1;

-- 删除风格ID为5的风格



15. 论坛所有用户短消息提示音修改为提示音1:


UPDATE `cdb_members` SET `pmsound` = '1';

-- 将论坛所有用户的短消息提示音设置为提示音1



16. 删除groupid = 0的用户组:


DELETE FROM `cdb_usergroups` WHERE `groupid` = 0;

-- 删除用户组ID为0的用户组



17. 所有板块开启允许编辑帖子:


UPDATE `cdb_forums` SET `alloweditpost` = '1';

-- 开启所有板块的编辑帖子权限



18. 论坛后台解除insenz绑定语句:


DELETE FROM `cdb_settings` WHERE `variable` = 'insenz';

-- 删除论坛后台的insenz绑定设置



19. 关闭游客浏览所有版块的语句(设置权限):


UPDATE `cdb_forumfields` SET `viewperm` = '\t允许浏览的用户组的ID\t' WHERE `fid` IN (论坛板块ID);

-- 设置允许浏览指定用户组的权限

-- 例如:update cdb_forumfields set viewperm ='\t1\t2\t' where fid in(1,2)



20. 设置所有板块的板块规则:


UPDATE `cdb_forums` SET `rules` = '板块规则';

-- 设置所有板块的板块规则



21. 开启所有板块的干扰码:


UPDATE `cdb_forums` SET `jammer` = '1';

-- 开启所有板块的干扰码功能


文煞云:优质免备香港云服务器提供、新注册用户享受1元购云服务,关注微信公众号全站永久7折http://idc.wensha.info



22. 开启所有会员组邀请注册的权限并设置相关参数:


UPDATE `cdb_usergroups` SET `allowinvite` = 1, `allowmailinvite` = 1, `maxinvitenum` = 10, `maxinviteday` = 15, `inviteprice` = 10;

-- 开启所有会员组的邀请注册权限,并设置最大邀请数量、邀请码有效期和邀请码价格


23. 修改特别高日发帖数:


UPDATE `cdb_settings` SET `value` = '新的昨日发帖数 特别高日发帖数' WHERE `variable` = 'historyposts' LIMIT 1;

-- 将昨日发帖数和特别高日发帖数的值修改为指定的数字

-- 注意:昨日发帖数和特别高日发帖数中间的空格是tab键



24. 关闭论坛的gzip压缩设置:


UPDATE `cdb_settings` SET `value` = '0' WHERE `variable` = 'gzipcompress' LIMIT 1;

-- 关闭论坛的gzip压缩设置



25. 批量对用户组禁言:


UPDATE `cdb_members` SET `adminid` = '-1', `groupid` = '4' WHERE `groupid` = '目标用户组ID';

-- 将指定用户组中的用户禁言,将其管理员身份设为-1,用户组设为目标用户组ID



26. 批量删除游客组的发帖和主题:


DELETE FROM `cdb_threads` WHERE `authorid` = 0;

DELETE FROM `cdb_posts` WHERE `authorid` = 0;

-- 删除游客组(authorid = 0)的所有发帖和回帖



27. 将UID为2000~3000的会员全部积分清零:


UPDATE `cdb_members` SET `credits` = 0, `extcredits1` = 0, `extcredits2` = 0, `extcredits3` = 0, `extcredits4` = 0, `extcredits5` = 0, `extcredits6` = 0, `extcredits7` = 0, `extcredits8` = 0 WHERE `uid` BETWEEN 2000 AND 3000;

-- 将UID在2000~3000之间的会员的积分和扩展积分全部设为0


28. 指定范围内的审核主题通过审核:


UPDATE `cdb_threads` SET `displayorder` = 0 WHERE `tid` > 最小的tid AND `tid` < 最大的tid;

-- 将指定范围内的审核主题通过审核



29. 指定范围内的审核帖子通过审核:


UPDATE `cdb_posts` SET `invisible` = 0 WHERE `tid` > 最小的tid AND `tid` < 最大的tid;

-- 将指定范围内的审核帖子通过审核



30. 批量删除未审核通过的帖子和主题:


DELETE FROM `cdb_threads` WHERE `displayorder` = -2;

DELETE FROM `cdb_posts` WHERE `invisible` = -2;

-- 批量删除未审核通过的帖子和主题



31. 批量关闭投票:


UPDATE `cdb_threads` SET `closed` = 1 WHERE `special` = 1;

-- 批量关闭所有投票主题



32. 清空用户安全问答:


UPDATE `cdb_members` SET `secques` = '';

-- 清空所有用户的安全问答



33. 清空某个用户组的全部积分:


UPDATE `cdb_members` SET `credits` = 0, `extcredits1` = 0, `extcredits2` = 0, `extcredits3` = 0, `extcredits4` = 0, `extcredits5` = 0, `extcredits6` = 0, `extcredits7` = 0, `extcredits8` = 0 WHERE `groupid` = 用户组ID;

-- 将指定用户组的所有会员的积分和扩展积分全部设为0



34. 关闭所有用户组的积分转账:


UPDATE `cdb_usergroups` SET `allowtransfer` = 0;

-- 关闭所有用户组的积分转账功能



35. 修改特定日期之前主题的阅读权限:


UPDATE `cdb_threads` SET `readperm` = 100 WHERE `dateline` < 指定日期的时间戳;

-- 将指定日期之前的主题的阅读权限设置为100



36. 替换帖子中评分者的用户名:


UPDATE `cdb_ratelog` SET `uid` = '新的uid', `username` = '新的username' WHERE `uid` = '旧的uid';

-- 将帖子中评分者的旧用户名替换为新的用户名



37. 将附件的默认阅读权限设置为1:


UPDATE `cdb_attachments` SET `readperm` = 1;

-- 将所有附件的默认阅读权限设置为1



38. 统计发帖量为0的所有用户积分1的总量:


SELECT SUM(`extcredits1`) FROM `cdb_members` WHERE `posts` = 0;

-- 统计发帖量为0的所有用户的积分1总量



39. 批量修改指定用户组的showemail为1:


UPDATE `cdb_members` SET `showemail` = '1' WHERE `uid` IN (1, 2, 3, 4, 5, 6);

-- 将指定用户组中的用户的showemail设为1



40. 将和特定主题相关的所有表的tid减去一个固定值:


UPDATE `cdb_activities` SET `tid` = `tid` - 16773200 WHERE `tid` > 指定的tid;

UPDATE `cdb_activityapplies` SET `tid` = `tid` - 16773200 WHERE `tid` > 指定的tid;

UPDATE `cdb_attachments` SET `tid` = `tid` - 16773200 WHERE `tid` > 指定的tid;

-- 同样的,根据需要继续更新其他相关表



41. 将积分1加到积分2上并将积分1清零:


UPDATE `cdb_members` SET `extcredits2` = `extcredits2` + `extcredits1`;

UPDATE `cdb_members` SET `extcredits1` = '0';

-- 将积分1的值加到积分2上,并将积分1的值设为0



42. 将300天未登录的用户移动到特定用户组:


UPDATE `cdb_members` SET `adminid` = -1, `groupid` = 特定用户组ID WHERE `lastactivity` < UNIX_TIMESTAMP() - 300*24*3600;

-- 将最后登录时间超过300天的用户移动到特定用户组,将管理员身份设置为-1



43. 服务器上禁止IP访问命令:


iptables -I INPUT -p TCP -s 218.0.211.0/24 --dport 80 -j DROP;

-- 在服务器上执行此命令,禁止IP地址为218.0.211.0/24的访问端口80



44. 查询某个IP是否有会员登录:


SELECT * FROM `cdb_members` WHERE `lastip` = "IP";

-- 查询指定IP是否有会员登录



45. 为帖子附件取消缩略图:


UPDATE `cdb_attachments` SET `thumb` = '0';

-- 将所有帖子附件的缩略图标记设为0,即取消缩略图



46. 取消全部帖子的高亮显示:


UPDATE `cdb_threads` SET `highlight` = '0';

-- 将所有帖子的高亮显示标记设为0,即取消高亮显示



47. 删除论坛中所有回复长度小于20且没有附件的帖子:


DELETE FROM `cdb_posts` WHERE LENGTH(`message`) < 20 AND `attachment` = 0;

-- 删除所有回复长度小于20且没有附件的帖子



48. 查询FTP上的附件是否在数据库内:


SELECT * FROM `cdb_attachments` WHERE `attachment` LIKE "%文件名称%";

-- 在phpMyAdmin中执行此SQL查询,根据文件名称查询附件是否在数据库内



49. 一次性给一个帖子内的所有回帖人加积分:


UPDATE `cdb_members` SET `extcredits2` = `extcredits2` + 10 WHERE `uid` IN (SELECT `authorid` FROM `cdb_posts` WHERE `tid` = 主题ID);

-- 将指定帖子中的所有回帖人的积分2增加10

-- 注意:根据需要修改积分字段和对应的帖子条件



50. 修改所有用户的在线时间为0:


UPDATE `cdb_members` SET `oltime` = 0;

-- 将所有用户的在线时间设为0



51. 将体积大于819200kb的附件指定为远程附件:


UPDATE `cdb_attachments` SET `remote` = '1' WHERE `filesize` > 819200;

-- 将体积大于819200kb的附件设定为远程附件



52. 修改所有用户组评分的SQL语句:


UPDATE `cdb_usergroups` SET `raterange` = '扩展积分ID\t评分最小值\t评分最大值\t24小时最大评分数

扩展积分ID\t评分最小值\t评分最大值\t24小时最大评分数';

-- 根据需要修改扩展积分ID、评分最小值、评分最大值和24小时最大评分数的值



53. 将和特定主题相关的所有表的tid减去一个固定值:


UPDATE `cdb_threads` SET `tid` = `tid` - 16773200 WHERE `tid` > 4009;

UPDATE `cdb_activities` SET `tid` = `tid` - 16773200 WHERE `tid` > 4009;

UPDATE `cdb_attachments` SET `tid` = `tid` - 16773200 WHERE `tid` > 4009;

-- 根据需要继续更新其他相关表的tid



54. 批量替换论坛标题内容:


UPDATE `cdb_threads` SET `subject` = REPLACE(`subject`, '需要替换的', '替换后的');

-- 批量替换论坛中帖子标题中的指定内容为新的内容



55. 取消所有附件的缩略图数据:


UPDATE `cdb_attachments` SET `thumb` = '0';

-- 将所有附件的缩略图标记设为0,即取消缩略图数据



56. 修改所有用户的在线时间为0:


UPDATE `cdb_members` SET `oltime` = '0';

-- 将所有用户的在线时间设为0



57. 批量验证所有未验证的会员:


UPDATE `cdb_members` SET `groupid` = '10' WHERE `groupid` = '8';

-- 将所有未验证的会员的用户组ID改为指定的已验证用户组ID



58. 批量删除游客回帖和主题:


DELETE FROM `cdb_threads` WHERE `authorid` = 0;

DELETE FROM `cdb_posts` WHERE `authorid` = 0;

-- 批量删除游客的回帖和主题



59. 删除180天之前的全部短消息:


DELETE FROM `cdb_pms` WHERE `dateline` < 1190518730;

-- 删除180天之前的全部短消息,日期条件可以根据实际需要修改



60. 清空某个用户的已发短消息:


UPDATE `cdb_pms` SET `delstatus` = 1 WHERE `msgfromid` = 发送者ID;

-- 将指定用户发送的短消息设为已删除状态


61. 将所有用户组(包括系统用户组、普通用户组、特殊用户组)都可以参与投票的SQL语句:


UPDATE `cdb_usergroups` SET `allowvote` = 1 WHERE `groupid` < 4 OR `groupid` > 9;

-- 将所有用户组的allowvote字段设为1,即所有用户组都可以参与投票



62. 开启所有用户组的扩展积分1和2的评分值为最小-1,最大1,24小时100:


UPDATE `cdb_usergroups` SET `raterange` = '1\t-1\t1\t100

2\t-1\t1\t100';

-- 将所有用户组的扩展积分1和2的评分范围设为最小-1、最大1、24小时最大评分数100



63. 修改图片附件的设置为正确,但不直接显示:


UPDATE `cdb_attachments` SET `isimage` = 1 WHERE `filename` LIKE "%.jpg" OR `filename` LIKE "%.gif";

-- 将所有图片附件的isimage字段设为1,表示图片附件,但不直接显示



64. 将一部分附件固定天数后转为远程附件:


UPDATE `cdb_attachments` SET `remote` = 1 WHERE `dateline` < UNIX_TIMESTAMP() - 86400 * 天数;

-- 将指定天数之前的附件设为远程附件



65. 修改所有用户组评分的SQL语句:


UPDATE `cdb_usergroups` SET `raterange` = '扩展积分ID\t评分最小值\t评分最大值\t24小时最大评分数

扩展积分ID\t评分最小值\t评分最大值\t24小时最大评分数';

-- 根据需要修改每个用户组的扩展积分ID、评分最小值、评分最大值和24小时最大评分数的值,并按照"\t"分隔



66. 将和特定主题相关的所有表的tid减去一个固定值:


UPDATE `cdb_threads` SET `tid` = `tid` - 16773200 WHERE `tid` > 4009;

UPDATE `cdb_activities` SET `tid` = `tid` - 16773200 WHERE `tid` > 4009;

UPDATE `cdb_attachments` SET `tid` = `tid` - 16773200 WHERE `tid` > 4009;

-- 根据需要继续更新其他相关表的tid,并将其减去一个固定值



67. 批量替换论坛标题内容:


UPDATE `cdb_threads` SET `subject` = REPLACE(`subject`, '需要替换的', '替换后的');

-- 将所有帖子标题中包含指定内容的部分替换为新的内容



68. 取消全部帖子的高亮显示:


UPDATE `cdb_threads` SET `highlight` = '0';

-- 将所有帖子的高亮显示标记设为0,即取消高亮显示



69. 删除一个主题的所有回复:


DELETE FROM `cdb_posts` WHERE `tid` = '需要删除回复的主题的tid' AND `first` = 0;

-- 删除指定主题的所有回复,保留主题的第一条回帖



70. 设置缩略图为0,为图片附件取消缩略图:


UPDATE `cdb_settings` SET `value` = '0' WHERE `variable` = 'thumbstatus' LIMIT 1;

-- 将缩略图的状态设为0,取消所有图片附件的缩略图



71. 将主题tid大于14651的所有主题减去16761780:


UPDATE `cdb_threads` SET `tid` = `tid` - 16761780 WHERE `tid` > 14651;

UPDATE `cdb_posts` SET `tid` = `tid` - 16761780 WHERE `tid` > 14651;

UPDATE `cdb_attachments` SET `tid` = `tid` - 16761780 WHERE `tid` > 14651;

-- 将主题tid大于14651的所有主题、回复和附件的tid减去16761780


欢迎 发表评论:

  • 请填写验证码
Discuz!百科排行
    随机文章 | 热门文章 | 热评文章
搜索
热评文章
随机文章