当前位置:首页 > Contributors > 正文内容

实用WordPress SQL语句集锦

admin14年前 (2011-01-27)Contributors745
过去10年来,MySQL数据库以令人难以置信的速度在网络上流行起来。每一个WordPress博客都由MySQL数据库驱动,存储博客日志、设置、评论等内容。 面对WordPress,虽然插件或编码技巧可以解决一些问题、完成某些任务,但是有时除了通过phpMyAdmin或SSH执行SQL语句外,你别无选择。下面让我们来看看WordPress实用SQL语句集锦。本系列文章的每个篇章都严格按照提出问题、解决问题、解释说明的思路撰写,以使读者真正了解掌握解决问题的方法,达到举一反三的效果。 1、创建数据库备份 useful-wordpress-sql-hacks-01 问题。尽管本文论及的所有语句已经过测试,我们仍然应当先备份MySQL数据库,再尝试执行这些语句。 方案。要手工创建一个WordPress数据库备份,请按照下列步骤进行: 1、登录phpMyAdmin,选择WordPress数据库。 2、接着在横向列示的菜单上点击“导出”按钮。 3、选择压缩方法(我个人习惯使用gzip),然后点击“执行”按钮。 4、浏览器会提示是否需要下载备份文件。选择“是”,然后将该文件储存在硬盘驱动器上。 解释。需要注意的是,创建WordPress数据库备份的任务,可以通过WP-DB-Backup插件更容易地实现。每一个WordPress用户都应该安装此插件,并定期进行数据备份。(译注:此提示虽显絮叨却是博客作者都应遵循的准则。因为主题或插件没了都可以再安装,但数据没了那么所有过往的努力都将付诸东流。) 2、批量删除日志修订记录 useful-wordpress-sql-hacks-02 问题。修订版本是WordPress 2.6引入的功能,该功能虽然在某些场景下比较有用,但也增加了MySQL数据库的大小。尽管我们可以手动删除文章修订版本,但这是非常漫长而枯燥的工作。 方案。这个问题的解决方法很简单:我们通过执行简单的SQL查询来批量删除日志修订记录。如果你有很多的日志,其结果可能令人难以置信:数据库的大小将减少一半! 登录phpMyAdmin,选择WordPress数据库。 点击“SQL”按钮。将以下代码粘贴到SQL命令窗口:
DELETE FROM wp_posts WHERE post_type = "revision";
  大功告成。最终节省的数据库空间大小取决于博客文章数的多少。 解释。wp_posts表有一个名为post_type的字段。此字段有几个取值,如“post”、“page”或“revision”。想要去除文章修订版本,只需运行一个命令以删除wp_posts表中,post_type字段等于“revision”的记录。 接下来我们分析关于批量删除待审核评论和变更日志归属的SQL命令。 3、瞬间删除5000条垃圾评论 useful-wordpress-sql-hacks-03 问题。真人真事:我的一个朋友最近搭建了自己的博客,并开始在网上四处推广。经过几个星期的紧张工作,他休了几天假没有上网。 回到家里他看了看博客,结果看到...超过5000条待审核评论!当然,其中大多数是垃圾评论,本来他打算逐一检验,以确保不会删掉一般读者的有效评论。 方案。令人高兴的是,友人把他的垃圾留言问题告诉了我。在我向他展示下面这条有用的SQL语句前,他已经花了45分钟手工删除垃圾评论。 登录phpMyAdmin,选择WordPress数据库。 点击“SQL”按钮。将以下代码粘贴到SQL命令窗口:
DELETE from wp_comments WHERE comment_approved = '0';
  向垃圾评论说再见!享受未受垃圾评论侵扰的数据库吧! 解释。wp_comments表包含一个名为comment_approved的字段,取布尔值(1或0)。通过审核的评论该值为1,待审核的评论取0值。通过运行上面的命令,我们删除了全部待审核评论。 谨慎行事。如果你有一大堆垃圾留言需要删除,这种解决方案是非常有用的,但也可能删掉未经审核的有效评论。因此,如果你还没用上Akismet,马上安装它以阻止垃圾评论的骚扰。 4、变更日志归属 逐篇文章修改作者署名需要花费很多时间。令人高兴的是,SQL语句可以帮你搞定这一切。 问题。WordPress安装完成之后会自动创建一个“admin”帐户。一些博客作者误将该帐号用于写作博文,后来才意识到这不是个人用户。 方案 1、登录phpMyAdmin,然后选择WordPress数据库。 2、首先,我们必须找到正确的用户ID。为此,打开SQL命令窗口,并执行以下命令:
SELECT ID, display_name FROM wp_users;
  3、phpMyAdmin将显示一个与WordPress用户名相关联的用户ID列表。假设NEW_AUTHOR_ID是最近创建的作者ID,而OLD_AUTHOR_ID是原管理员帐户ID。 4、欲用NEW_AUTHOR_ID替换OLD_AUTHOR_ID,运行以下命令:
UPDATE wp_posts SET post_author = NEW_AUTHOR_ID WHERE post_author = OLD_AUTHOR_ID;
  这样一来,所有以前由admin用户撰写的文章,现在都转换到你所选择的新用户名下了。 5、手动重置密码 虽说遗失密码后,WordPress可以向你发送电子邮件,通过一个链接进行密码重置。但是,如果你不能访问WordPress数据库中记录的电子邮件地址了,或者你比较喜欢运行一个简单的命令来解决该问题,那么下面的方法绝对适合你。 问题。为了加强对博客的保护,人们往往选择强密码,如u7* KoF5i8_之类。这是一件好事,但我也听到许多忘记管理员密码的故事,绝对的杯具。 方案 1、登录phpMyAdmin,选择WordPress数据库,然后打开SQL窗口。
2、输入以下命令(假设你的用户名是“admin”):
UPDATE wp_users SET user_pass = MD5('PASSWORD') WHERE wp_users.user_login = 'admin' LIMIT 1;
  3、大功告成。原密码已经被修改为上述语句中标记为“PASSWORD”的字符串。
解释。用户密码存储在wp_users表中。当然,密码是经过MD5哈希加密的。 我们提交一个“UPDATE”SQL请求,并使用MySQL内建的MD5函数将新密码转换为MD5值,然后更新原密码。“WHERE”子句确保我们仅更新管理员账号的密码。注意:未经“WHERE”条件限制的语句将导致所有用户密码全部被更新! 6、变更WordPress域名 问题。虽然我们不建议这么做,单有时你可能希望变更博客域名,同时保留原有数据。由于WordPress将域名记录在数据库中,我们必须更新数据库相应条目,以建立新域名与原博客的关联。 方案 你猜对了:首先要做的仍然是登录phpMyAdmin,然后选择WordPress数据库。 点击“SQL”按钮,打开SQL命令窗口。要改变WordPress URL地址,先执行这个命令:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
  然后,我们要变更各日志的相对URL(GUID)。以下命令能完成该项工作:
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com', 'http://www.newsite.com');
  任务接近完成。我们要做的最后一项工作是更新wp_posts表,以确保没有任何绝对URL仍使用原域名:
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
  大功告成。现在我们应该能够使用新网址登录到WordPress控制板了。 解释。要轻松改变WordPress域名,我们可以借助于超有用的MySQL函数“replace”,即,以一个字符串取代另一个。 7、在博客上显示SQL查询执行次数 如果我们打算优化博客的加载时间,了解对数据库发起的查询次数是很有必要的。为了减少数据库查询次数,首先要知道在单个页面上有多少查询生成。 问题+方案
这次无需登录phpMyAdmin。只需打开主题的footer.php文件,并追加以下代码行:
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?>  seconds.
   1秒内执行次查询。  保存文件并访问你的博客。在页脚中,我们会看到向WordPress数据库发起查询的次数以及所花费的时间。
解释。似乎很多WordPress用户不知道这个有用的函数。”get_num_queries()“函数返回加载页面过程中执行的查询数。 需要注意的是,上述结果只对登录用户显示,因为该指标对一般访问者和搜索引擎机器人没有意义。如果你想要将查询数公开,只需删除”if (is_user_logged_in())“这个判断条件即可。 8、恢复WordPress数据库 如果出于某些原因,比方说网站被黑或升级出错,造成了博客数据的丢失或破坏。在你做了数据备份的情况下(希望如此!),那么将备份文件导入WordPress数据库即可完成恢复。 问题+方案 1、登录phpMyAdmin,选择WordPress数据库。 2、在横向列示的菜单上点击“导入”按钮。 3、点击“浏览”按钮并选择硬盘上最新的数据库备份文件。 4、点击“执行”按钮。如果一切顺利的话,你的WordPress数据库又恢复正常了。

扫描二维码推送至手机访问。

版权声明:本文由博赚恋吧资源站发布,如需转载请注明出处。

本文链接:https://432l.com/post/4121.html

分享给朋友:

相关文章

Freehyperspace - 1000M可绑米免费PHP空间

    Freehyperspace免费空间,采用LayeredPanel管理面板,1000M存储空间,每月10G流量,支持FTP,PHP,MYSQL。提供二级域名申请,可以绑定自己的域名。 500MB 1000MB Free Hyper Space...

06la提供1G 大小ASP/PHP/ASP.NET可绑米全能免费空间

免费空间大小:1000MIIS链接数量:100个支持ASP/PHP/ASP.NET赠送免费二级域名可以绑定域名独立控制面板支持FTP远程管理免费赠送MSSQL数据库免费网络演示地址:http://60865.tttc8.com.cn/免费网络ASP探针:http://60865.tttc8.com.cn/asp.asp免费网络PHP探针:http://60865.tttc8.com.cn/php....

恋吧吐血推荐美国3G/不限流量/一键安装100种程序免费空间,现已恢复访问

                   前段时间这个网站时而访问不了!现已恢复访问,又需要的赶紧啊! Free-Web-Host是来自美国的虚拟空间托管服务商,提供高性能的免费空间,个人感觉有点像000webho...

找免费空间的经验,希望对新手有帮助

刚玩免费空间时也和大家一样先在百度里输入:免费空间,就这样出来好多网站,然后一个一个去点击看,就这样我找到了我的第一个免费空间,可是过了一年,空间到期我又接着去找别的空间,就这样找啊找啊,在找的过程中我了解了一些说法,就是国内空间全都不可信的道理,这话可以说是真的,当然也不排除有些国内的免费空间还是不错的,比如:亿家,地平线也不错,不过5944真的不行.好了说正题吧。因为不想后来像我一样幸苦的去探...

见过最好的国外免费空间,速度快,功能强大!

这篇帖子来自免费吧会员460411234 的提供!下面是全文:前天申请的PurgeHosting.空间吧等了两天审核成功呵呵!不知道是我操作有问题还是怎么样等了两天空间刚开通就过来给坛友汇报情况空间打开速度很快功能很强大是目前我见过的最好免费空间啥也不说了申请空间地址演示地址:上图(图是此空间外链哦)看官们自己评论...

sf.net/无限/无限/webhost/mysql/ssh/sftp免费空间

说实在的,发这篇文章前,我还确实犹豫了很久!下面是免费吧一位大佬的话: 本帖最后由 wxysky 于 2010-1-2 11:31 编辑 sourceforge.net 作为世界上最大的开源托管网站,注意,是最大没有之一, 是每个程序员或者IT人员的必备网站, 在05-06年被封过一阵时间,当时给国内所有...

评论列表

oott123
oott123
14年前 (2011-01-28)

我觉得文章里面有2个第4项,你觉得呢? :)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。