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
投稿

猜你喜欢

  • SQLServer 2008 新增T-SQL 简写语法

    2024-01-28 23:49:25
  • MySQL数据库的高可用方案总结

    2024-01-15 14:47:43
  • tensorflow: 查看 tensor详细数值方法

    2022-07-24 09:40:37
  • Python yield 的使用浅析

    2022-09-30 13:47:01
  • JavaScript简单实现的仿微博留言功能示例

    2024-04-17 10:01:33
  • Go语言利用ssh连接服务器的方法步骤

    2024-04-25 14:59:55
  • Centos环境部署django项目的全过程(永久复用)

    2021-06-17 00:37:28
  • xhtml+css VS div+css

    2008-04-07 13:00:00
  • Python asyncio异步编程常见问题小结

    2023-10-04 23:13:56
  • Keras使用tensorboard显示训练过程的实例

    2023-07-15 18:57:35
  • js表单检测数字

    2007-10-12 13:52:00
  • python利用smtplib实现QQ邮箱发送邮件

    2023-07-15 18:47:12
  • 在ASP.NET 2.0中操作数据之二十三:基于用户对修改数据进行限制

    2023-07-12 08:52:20
  • SQLServer2019 数据库环境搭建与使用的实现

    2024-01-16 12:45:48
  • python中进程间通信及设置状态量控制另一个进程

    2022-01-28 08:02:57
  • python解析多层json操作示例

    2021-06-17 22:59:41
  • Python基于opencv实现的人脸识别(适合初学者)

    2021-10-13 19:39:29
  • uniapp使用百度地图的保姆式教学(适合初学者!)

    2024-04-29 14:06:21
  • python如何代码集体右移

    2023-07-08 01:34:28
  • Centos6.5在线安装mysql 8.0详细教程

    2024-01-15 01:02:57
  • asp之家 网络编程 m.aspxhome.com