执行SQL语句的核心技巧:登录DZ后台,进入全局-数据库,点击'运行SQL',输入语句如DELETE FROM pre_common_member WHERE uid=123; 直接执行删除用户。优化技巧:使用LIMIT限制条数,避免全表操作卡死服务器。新手必备:先备份数据库!
第一篇:基础执行语句
在DZ论坛的数据库管理中,最常用的是直接运行SQL。举例:ALTER TABLE pre_forum_thread ADD COLUMN test INT(10); 这能快速添加字段。网友分享:记得加事务,BEGIN; 执行语句; COMMIT; 出错就ROLLBACK。
第二篇:用户管理技巧
高效删除僵尸用户:SELECT uid FROM pre_common_member WHERE regdate<UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL 1 YEAR)) AND posts=0 LIMIT 100; 然后批量DELETE。论坛大佬推荐:结合common_member_count表同步删除,避免数据不一致。
第三篇:帖子清理指南
清理无效帖子:DELETE FROM pre_forum_thread WHERE fid=XXX AND lastpost<UNIX_TIMESTAMP(DATE_SUB(NOW(),INTERVAL 30 DAY)); 执行前用EXPLAIN检查影响行数。新手注意:fid是版块ID,别删错。
第四篇:性能优化SQL
修复表:REPAIR TABLE pre_forum_post; OPTIMIZE TABLE pre_common_member; 这些语句每月跑一次,空间回收超快。网友经验:大站用pt-online-schema-change工具改表,不停机。
第五篇:附件管理
删除过期附件:DELETE a FROM pre_forum_attachment a LEFT JOIN pre_forum_thread t ON a.pid=t.firstpid WHERE t.tid IS NULL; 直接释放硬盘。新手教程:结合文件系统rm命令双管齐下。
第六篇:权限批量修改
UPDATE pre_common_usergroup SET allowviewuserthread=1 WHERE groupid IN(1,2); 全站开放查看用户帖子。技巧:用group_concat生成IN列表,超高效。
FAQ
Q: 执行SQL出错怎么处理?
A: 检查语法,用phpMyAdmin测试语句,确认分号结尾。
Q: 怎么备份前执行?
A: 后台全局-数据库-优化-备份,或mysqldump命令。
Q: 大表操作卡住怎么办?
A: 加WHERE LIMIT,分批执行,或用pt-kill杀进程。
Q: DZ版本不同SQL有差异吗?
A: 表前缀pre_可能变,X3后有些表结构更新,查官方文档。