13个你希望早点知道的实用WordPress SQL查询语句[译](2)
作者:子乌 来源:子乌blog 发布时间:2010-02-28 12:48:00
改变默认的”Admin”用户名
默认的WordPress安装将会使用默认的“Admin”用户名创建一个帐户。使用WordPress的用户都知道这个。问题在于这有可能成为一个安全漏洞,因为黑客能够暴力破解你进入你的WordPress管理面板(子乌注:登录时启用防spam的随机验证会好一些)。如果你能够修改你默认的“Admin”用户名,你可以让你的WordPress管理面板安全一些。
解决:
UPDATE wp_users SET user_login = '新的用户名' WHERE user_login = 'Admin';
重置密码
你是不是曾经试过重置你的WordPress密码,但是无论怎样都无法实现这个目标?
解决:
UPDATE wp_users SET user_pass = MD5( '新密码' ) WHERE user_login = '你的用户名';
将作者甲的所有文章分配给作者乙
如果你试着将作者甲的所有文章合并到作者乙的名下,如果你一篇文章一篇文章地修改将会是一个漫长的工作。使用下面的SQL语句(为啥我看到这句话就觉得好像卖膏药的?),你可以轻易地进行上述操作。
你首先需要在你的WordPress管理面板中访问作者与用户页面取得这两个作者的ID。单击用户名查看他们的描述。在浏览器的地址栏,找到”user_id“。这就是我们需要的作者ID信息
解决:
UPDATE wp_posts SET post_author = '新作者id' WHERE post_author = '旧作者id';
删除修订
当你在WordPress中编辑文章的时候,WordPress会保存你编辑文章的许多修订版。这是对资源的浪费,因为过多的修订记录会增加数据库的负担。时间一长,当你拥有成千上万条记录的时候,你的数据库将成倍增长。这将增加循环次数、数据列举,并将延长页面加载时间。
解决:
DELETE a,b,c FROM wp_posts aLEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)WHERE a.post_type = 'revision'
源代码来自于: Lester chan
注: 请记住,所有post的修订都将会被删除,包括post meta。
删除post meta
对WordPress来说,安装或删除插件是一个非常常用的任务。一些插件会使用post meta来储存与插件有关的数据。当你删除插件的时候,这些数据将依然存在于post_meta表(即使再也不需要)。运行下列语句来清空无用的post meta值。这会有助于数据库的提速并减肥。
解决:
DELETE FROM wp_postmeta WHERE meta_key = '你的meta key';
导出所有未重复的评论电子邮件
在一段时间里,你的blog将会收到很多评论。这些评论都包含有评论者的电子邮件地址。你可以将这些电子邮件地址不重复地加入你的电子邮件列表。
解决:
SELECT DISTINCT comment_author_email FROM wp_comments;
你得到查询结果之后,可以在phpMyAdmin的标签Query results operations(查询结果操作)下,选择“导出”来导出所有的电子邮件地址。
删除所有Pingback
热门文章会收到大量pingback。这会增加你的数据库大小。为了给你的数据库减肥,你可以试着删除所有的pingback。
解决:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
删除所有垃圾评论
如果你有相当多的垃圾评论,去每个页面删除垃圾信息很乏味并让人沮丧(子乌注:那你为啥不去管理面板的评论页中直接删除垃圾评论??)使用下面的SQL语句,即使面对超过500条的垃圾评论,也可以轻而易举地删除它们(子乌注:只要服用了我们独家出产的大力丸,你就可以力举五牛,夜御十女,oyeah~~)
解决:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
0 = 等待审核的评论
1 = 通过审核的评论
spam = 标记为垃圾(spam)的评论
标识未使用的标签(tag)
在WordPress数据库中,如果你使用SQL手动删除旧post,旧的标签依然会显示在你的标签云/列表中。这可以让你标识这些未使用的标签,并删除它们。
解决:
SELECT * FROM wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_idINNER JOIN wp_term_relationships wtr ON wtr.term_taxonomy_id=wtt.term_taxonomy_idLEFT JOIN wp_posts wp ON wp.ID=wtr.object_idWHERE taxonomy='post_tag'AND ID IS nullAND NOT EXISTS(SELECT * From wp_terms wt2 INNER JOIN wp_term_taxonomy wtt2 ON wt2.term_id=wtt2.term_id WHERE wtt2.parent=wt.term_id) ORDER BY name;
源代码来自于:Snipplr
猜你喜欢
- XML和XSLT的转换使Web设计受益无穷。借助XML和 XSLT转换,你可以实现将动态用语(dynamic verbiage)和网站内容存
- 很久以前就知道微软的Petshop的很经典,昨天抽出时间去学习,一开始还真的不适应,什么成员资格,还真的看不太懂,运行petshop想从登陆
- 如何使用ADO 2x Command 对象读取数据?具体的读数据代码如下:Cmd = CType(EC.Example1
- Hedger Wang 在国内 blog 上得到的方法:使用 try … finally 结构来使对象最终为 null ,以阻止内存泄露。其
- 不知道做网络程序的朋友是否重视COOKIES作用域对于多域名或 主域与WWW二级域名同时共用一站点,设置Cookies的作用域,让整个网站用
- 在IE下测试,发现最大值是:18014398509481984(0x40000000000000)另外发现一个奇怪的问题:JS世界居然不存在
- 如何实现在下拉菜单里输入文字? 用这个代码试试看,应该可以的:<script>function pp(){se.opt
- asp之家注:学习asp,无论是做企业网站还是做个人网站一般都需要用到IP地址。如留言要记录留言者IP,用户登录也经常记录登录的IP,还有站
- CONVERT将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在SQL Server中将日期格
- 从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生
- show parameter processes; 然后 更改系统连接数 alter system set processes=1000 s
- 1.函数array() 功能:创建一个数组变量 格式:array(list) 参数:list为数组变量中的每个数值列,中间用逗号间隔 例子:
- 问:我最近升级了一个应用程序,使其可以在 SQL Server 2005 上运行。我利用了允许行长度超出 8,060 个字节这项功能,以便用
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法,但有一点恐怕大部分人都不知道,那就是在ASP文件也能通过调用DLL来加快服务
- 5月20日,微软正式提供了Windows XP下可用的雅黑字体下载,雅黑字体是一款近乎完美的字体,解决了宋体小文字无法辩认的问
- 技巧 16:如果页面需要很长时间才能完成,那么执行前使用 Response.IsClientConnected 如果用户性急,他们可能会在您
- 本文介绍了一些JavaScript常用到得表单验证函数,方便大家使用。 判断是否为整数,是则返回true,否则返回falsefun
- Conditional-CSS允许你针对单一浏览器或浏览器组写出有逻辑条件的可维护的特定的CSS声明。使CSS针对特定的浏览器。简化你对CS
- 问题:1.一个销售系统,设有各级代理商,每个代理商的表是这样设计的 数据库结构表1: 代理商资料表[id]