13个你希望早点知道的实用WordPress SQL查询语句[译]

作者:子乌 来源:子乌blog 时间:2010-02-28 12:48:00 

子乌注:嗯,这篇文章算是蛮实用的一篇WordPress的底层操作手册,可以让你迅速找到你想做的事情而不是在WordPress的复杂语境里迷路,随手翻译之,并存档备用。

WordPress的用户应该都了解,WordPress是基于MySQL数据库。然而,如果你只是刚刚从我们这里知道这一点,下面这些是你应该了解的。MySQL是一个免费的关系型数据库管理系统 ,绝大多数web服务器都支持它。所有的WordPress数据,如posts、评论、设置,都存储于MySQL数据库中。如果你希望对MySQL了解更多,你可以去WordPress的数据库描述看看。

举个例子,如果你需要改WordPress中的一些全局的信息,那你得在每条记录里穿梭,耗费你大量的时间并且得面对发生人工错误的可能。而直接在你的WordPress数据库中简单地运行一条SQL语句,你可以让上面所说的工作变得轻松而有效率。

而下面就是一些能够在你使用WordPress时提供帮助的SQL语句。

备份你的WordPress数据库

在你对你的数据库做任何操作之前(除非你对自己的SQL执行结果很有信心),请务必备份你的数据库。在你做出任何重大的改变之前备份一下数据库是一个良好的习惯。这保证了无论数据库发生了何种错误,你总是能够将它恢复。

你可以下载WP-DB-BackupWP-DBManager插件,它们能够让你在你的WordPress面板中备份你的数据库。或者,你也可以通过phpMyAdmin来手动备份。

嗯,如果你决定手动备份你的WordPress数据库,跟着我做底下这些步骤:

  1. 登录你的phpMyAdmin

  2. 选择WordPress数据库

  3. 单击顶部导航栏里的Export(导出)

  4. 选择你想备份的表,或者选择所有的表来备份整个数据库;

  5. 导出选项选择SQL,导出为.sql后缀的文件;

  6. 勾选复选框“Save as file(另存为文件)” ;

  7. 选择compression type(压缩格式),选择gzipped,这样备份文件会小一些;

  8. 最后点一下Go(确定?OK?执行?),会跳一个下载窗口出来提示你保存你的备份数据库文件。

针对WordPress的13条SQL语句

运行下面提供的SQL语句的简单方法当然就是使用phpMyAdmin(一般来说,有装WordPress的服务器应该都有phpMyAdmin吧?)。phpMyAdmin是一个最常用的MySQL数据库查询与编辑工具。绝大多数web服务器的控制面板都有提供这个选项。这里也有一个名为WordPress SQL Executioner的WordPress插件允许你执行你的SQL语句。

依照以下的步骤来使用phpMyAdmin:

  1. 登录phpMyAdmin面板并选择你的WordPress数据库。

  2. 单击SQL栏,进入一个带有SQL查询框的页面。

你可以在如下图所示的这个SQL查询框中输入你的SQL语句。

注:所有的语句都是单纯的SQL查询,并且假定你使用的是标准的表前缀“wp_”。 如果你使用不同的表前缀,请自行修改相应的语句。

修改站点链接(Siteurl)和首页链接(Homeurl)

WordPress将站点链接与首页链接的绝对路径存储于数据库中。因此,如果你将你的WordPress站点从本地主机复制到服务器上,你的站点将无法正确运行。这是因为绝对路径依然是指向你的本地主机。你需要将站点链接与首页链接修改以使站点跑起来。

解决:



UPDATE wp_options SET option_value = replace(option_value, 'http://www.旧的地址.com', 'http://www.新的地址.com') WHERE option_name = 'home' OR option_name = 'siteurl';

修改GUID

当你将你的blog从本地主机移植到你的服务器或者从其他域名转移到新的域名,你需要修改表wp_posts中字段GUID的网址。如果填写错误将会造成严重错误,因为GUID用于将你的post或者页面解析为正确的链接地址。

解决:



UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

修正内容中的URL

当存储数据库的时候,WordPress将使用URL链接的绝对地址而非相对链接。因此你需要修正所有将指向新域名地址的链接。

解决:



UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

只修改图片路径

如果你决定使用Amazon CloudFront作为你的内容分发网络(CDN)以减少你服务器上图片的分发量。当你创建完成你的CNAME记录,你能够使用下面的SQL语句来修改WordPress中所有图片地址,让你的图片从Amazon CloudFront中加载。

解决:



UPDATE wp_posts SET post_content = REPLACE(post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');

同时你也需要使用以下SQL更新图片附件的GUID:



UPDATE wp_posts SET  guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';

更新post meta

更新post meta的做法与更新post内容中的链接几乎是一样的写法。如果你在每个post中储存了额外的链接数据,你可以使用以下的语句来批量修改。

解决:



UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');

 

标签:WordPress,sql,查询,数据库
0
投稿

猜你喜欢

  • 避免重复写代码的小函数

    2008-09-21 13:41:00
  • 如何制作K线图?

    2010-06-29 17:25:00
  • 在函数间不能传递32个以上参数的疑难问题

    2008-12-31 13:31:00
  • 怎样正确的解决 MySQL 中文模糊检索问题

    2008-12-19 17:26:00
  • SQL建立数据库及删除数据库命令

    2011-12-01 10:23:21
  • Sun正式发布MySQL 5.1版 简化数据库应用

    2008-12-11 15:15:00
  • 牢不可破的九宫格布局

    2009-07-24 12:40:00
  • 书写高效的CSS - 漫谈CSS的渲染效率

    2008-07-13 14:20:00
  • ASP Framework_1_简介

    2009-10-12 11:35:00
  • on error goto (Vbscript)和try catch

    2008-08-04 13:22:00
  • 用ASP实现IE地址栏参数的判断

    2008-10-10 15:54:00
  • 马化腾关于产品设计与用户体验的培训

    2009-02-12 11:45:00
  • Mootools 1.2教程(20)——选项卡效果(Tabs)

    2008-12-26 18:19:00
  • 讲解数据库管理系统必须提供的基本服务

    2009-01-04 14:33:00
  • Christopher Schmitt 谈学习CSS的益处

    2008-07-13 14:15:00
  • 如何不通过DSN访问SQL Server?

    2009-11-11 19:21:00
  • 让插入到 innerHTML 中的 javascript 跑起来

    2008-07-01 13:14:00
  • 两段不错的JS文字特效

    2007-09-27 12:52:00
  • 两个asp函数实现javascript的escape函数和unescape函数功能

    2009-02-04 15:47:00
  • mysql myisam 优化设置

    2010-03-25 10:18:00
  • asp之家 网络编程 m.aspxhome.com