青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 电影赤壁下集观后感Google Chrome推出2.0测试版 »

八个有用的WordPress的SQL语句

  在过去的十年中,MySQL已经成为广受欢迎的数据库,而WordPress博客使用的是MySQL数据库,虽然使用插件可以解决一些问题,但是实现某些特殊任务的时候,在phpMyAdmin中执行SQL语句是最简洁的方法,这里就总结八个有用的WordPress系统的SQL语句,用于解决一些实际碰到的问题。

  1、创建备份数据库

  备份数据库是首先要做的事情,只需要通过以下方法就可以简单备份数据库:

  登录phpMyAdmin后。选择你的WordPress数据库,然后点击“导出”按钮,选择一种压缩方式(可以使用gzip)并单击“执行”按钮,当浏览器提示是否下载的时候,点“是”,将数据库文件下载到本地。

  2、批量删除文章修订

  WordPress2.6以后的版本增加了一个Post revisions功能,虽然有点用,但文章修订增加了你数据库的大小,我们可以选择批量删除。

  登录phpMyAdmin后执行下面的SQL语句即可批量删除。

DELETE FROM wp_posts WHERE post_type = "revision"; 

  3、批量删除垃圾评论

  一个真实的故事是,我的一个朋友在网上建立了一个博客,有次他花了几天时间外出度假,没有上网,当他回来的时候,登录自己的博客,看到有5000多条评论等待审核,当然,大多数都是垃圾评论,要手动删除这些评论要花大量时间,因此我们可以使用以下办法。

  登录phpMyAdmin后执行下面的SQL语句。

DELETE from wp_comments WHERE comment_approved = '0';

  要小心,虽然这种解决方案对于处理数百万的垃圾平邮非常有用,但是也会清除未经批准的评论,因此最好还是安装使用Akismet来对付垃圾评论。

  4、修改文章属性

  你安装WordPress后,admin账户就创建了,不少人都错误的使用这个帐号来写博客,直到他们认识到,这并不是个人帐号。

  解决的方法,每篇文章修改作者属性需要大量的时间,下面的这个SQL语句可以帮你快速完成这个功能。

  首先你要找到你正确的用户名,使用下面的SQL语句可以找到你的用户ID号。

SELECT ID, display_name FROM wp_users;

  假设这个ID为NEW_AUTHOR_ID,而管理员admin的ID为OLD_AUTHOR_ID,接着,运行下面的SQL语句。

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

  5、手动重设密码

  很多人为了保护自己的博客不被人黑掉,使用了很复杂的密码,这虽然是一件好事,但也经常会发生遗忘管理员密码的事情。

  当然,通过电子邮件可以发送给你WordPress重设密码的链接,但如果你无法访问你的邮件地址,那么就只好使用下面的SQL语句来重设你的密码了。

UPDATE wp_users SET user_pass = MD5('PASSWORD') WHERE wp_users.user_login ='admin' LIMIT 1;

  MD5是MySQL内置的哈希函数,用于将密码转换为散列值。

  6、更改WordPress的域名

  你可能有时候会想要更改你博客的域名,但是WordPress会将你的域名存储在数据库中,因此你要使用下面的SQL语句来修改。

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';

  接着,你还要使用下面的SQL将文章的GUID也进行修改。

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');

  最后,使用下面的语句将文章里所有旧域名替换为新域名。

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');

  7、显示SQL查询数量

  在你有话博客性能的时候,了解到查询数据库的数量是非常重要的,为了减少数据库查询,我们需要知道在一个页面上到底有多少个查询。

  这一次,不需要登录phpMyAdmin了,你只需要修改footer.php文件,在文件结尾增加下面几行代码即可。

<?php if (is_user_logged_in()) { ?>  
    <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.  
<?php } ?>

  8、恢复你的WordPress数据库

  当你的数据库因为某些原因(黑客或者升级错误)被损坏或者丢失了,如果你有备份的话,那可以恢复你的WordPress数据库。

  登录phpMyAdmin,选择你的WordPress数据库,点“导入”按钮,点“浏览”按钮,然后从你的硬盘选择备份文件,点“执行”按钮就可以将数据库导入。

  如果顺利的话,你的WordPress功能将会恢复正常。

  英文原文:8 Useful WordPress SQL Hacks
  中文翻译:William Long
  中文译文:八个有用的WordPress的SQL语句



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/1650.html
  • 文章排行:
  • 1.Yustar
  • 有点无法理解二楼的感觉,呵呵
  • 2009/1/9 23:50:03   支持(11)反对(4) 回复
  • 3.jokecity
  • wordpress 一个很喜欢的blog程序!插件不错!
  • 2009/1/9 23:57:25   支持(8)反对(4) 回复
  • 5.悠游乐乐
  • 学习了呵呵,英文不错哈
  • 2009/1/10 12:50:37   支持(9)反对(5) 回复
  • 8.一亿度
  • 昨天我刚把数据库文件下载下来,把里面的某些字符串进行了批量替换,本地操作非常快!
  • 2009/1/10 2:07:40   支持(6)反对(3) 回复
  • 9.Mojo
  • 好好收藏了,某天一定会有用到的时候。
  • 2009/1/10 0:25:51   支持(8)反对(6) 回复
  • 10.刀客
  • 早就看过了,不过中文看起来更明白,呵呵!
  • 2009/1/10 1:08:41   支持(7)反对(5) 回复
  • 11.听风看海
  • 月光的wp博客是英文的
    什么时候也弄个中文的啊
  • 2009/1/10 1:31:07   支持(7)反对(5) 回复
  • 13.Ven
  • 月光哥哥你火星了,这篇文章半个月前就有人翻译了。
    http://www.wordpress.la/8%E4%B8%AA%E5%AE%9E%E7%94%A8%E7%9A%84WordPress%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E5%B7%A7.html
  • 2009/1/10 11:23:24   支持(10)反对(8) 回复
  • 14.apollools
  • 相当实用,可谓wp命令行模式~哈哈!
  • 2009/1/11 14:10:50   支持(10)反对(8) 回复
  • 15.Jane
  • 通俗易懂,按照这个指引来操作了。多谢!
  • 2009/4/8 9:07:43   支持(8)反对(6) 回复
  • 23.countmeon
  • 用过里面几个,主要是删除历史文章,这个刚开始用不清楚中招了很多文章 。
  • 2009/1/17 18:54:24   支持(6)反对(6) 回复
  • 24.周周
  • 为什么我更改了wp-config.php文件然后再删除添加的内容,回来后还是没反应?我也手动更改了数据库,还是不行呢?高手给看看吧
    9527.me/archives/492.html
  • 2013/6/20 16:15:18   支持(5)反对(5) 回复
  • 25.ken
  • WordPress装过几次,几次用不到几天就被我删了。。。。。
    哈哈 于 2011-6-30 10:58:33 回复
    很有用&*
  • 2009/1/9 23:40:43   支持(7)反对(8) 回复
  • 26.喵小可
  • 好文章,收藏了~\(≧▽≦)/~啦啦啦
  • 2009/1/10 0:16:13   支持(7)反对(8) 回复
  • 29.frtime
  • 月光的人气就是好啊 呵呵 真么晚的文章还做不到板凳
  • 2009/1/9 23:56:17   支持(6)反对(8) 回复
  • 32.Wilheard
  • <code>
    <xs:element name="first_name" type="xs:string" minOccurs="1"></xs:element>
    <xs:element name="last_name" type="xs:string" maxOccurs="5"></xs:element>
    </code>

    上面这段代码好像报了错,
  • 2013/8/3 19:22:29   支持(4)反对(6) 回复
  • 36.蓝天博客
  • 确实很有用。收藏,谢谢月光
  • 2009/1/9 23:53:33   支持(8)反对(12) 回复
  • 38.Mojo
  • Google换的新favicon,月光觉得怎么样?
  • 2009/1/10 15:02:47   支持(10)反对(14) 回复
  • 40.SQLHacks
  • Jean-Baptiste Jung, a 26-year-old blogger from Belgium, blogs about WordPress at WpRecipes and about everything related to blogging and programming at Cats Who Code. You can stay in touch with Jean by following him on Twitter. !

  • 2009/1/10 7:14:39   支持(3)反对(8) 回复
  • 41.金山毒霸2009
  • 用过里面几个,主要是删除历史文章,这个刚开始用不清楚中招了很多文章
  • 2009/3/13 23:50:59   支持(8)反对(13) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.