熟悉WordPress的人都知道WordPress是由My
SQL数据库驱动的
。My
SQL是一个免费的关系数据库管理系统
,大多数的主机
托管服务商都有提供
。WordPress所有数据如文章、评论、分类、设置等信息都是保存在MySQl数据库中。如果你想要了解更多关于MySQL的信息
,可以访问WordPress的数据库模式。
举一个例子,如果你想在WordPress后台修改一些信息,查找每一个记录不仅耗时而且还很可能出错。而在WordPress数据库中通过简单地执行一个SQL查询就可以非常快速高效地做必要的修改。下面就列出几个非常实用的SQL查询,对你实用WordPress将有非常大的帮助。
备份WordPress数据库
在执行任何修改之前,请先确保对数据库备份。要养成在做任何大的修改之前总是先备份下数据库的好习惯。这样一来,即使出现了什么错误,你还可以还原。
你可以下载WP-DB-Backup或WP-DBManager插件,通过WordPress管理面板来备份你的数据库。或者你也可以通过phpMyAdmin手动完成对你数据库备份。
如果你决定手动完成数据库备份,按照下面的操作步骤:
1、登录到phpMyAdmin。
2、选择WordPress数据库。
3、点击导航顶部的输出。
4、选择你需要备份的表格,或者选择所有表格对整个数据库进行备份。
5、选择SQL将输出的文件存为.sql的扩展名。
6、勾选"另存为文件"复选框。
7、选择文件压缩类型,选择gzipped将数据库压缩。
8、最后点击“执行”将会出现一个下载窗口提示你保存备份文件。
十三个WordPressSQL查询语句
执行下面这些查询最方便的方法是使用phpMyAdmin。phpMyAdmin是最常见的数据库编辑和查找工具。几乎所有的主机服务商的控制面板都有提供这个工具。或者你也可以使用WordPress插件WordPressSQLExecutioner来执行SQL查询。
使用phpMyAdmin的话,其步骤如下:
登录phpMyAdmin面板选择WordPress数据库。
点击SQL标签,这样你就进入了一个SQL查询框的页面。
看到如下图所示的SQL查询框之后,你就可以在里执行SQL查询。
注意:所有的查询都是直接的SQL查询,并假设标准的表格前缀是'wp_',如果你使用其他的表格前缀,请相应地做修改。
1变更Siteurl&Homeurl
WordPress将站点URL的绝对路径和本地URL保存在数据库中。因此,如果你将WordPress站点从本地主机转到你的
服务器,你的站点不会加载网络,因为你的绝对路径URL仍然指向你的本地主机。你需要改变站点URL和本地URL,网站才能运作。
解决办法:
以下为引用的内容:
UPDATEwp_optionsSEToption_value=replace(option_value,'http://www.hacker.com.cn','http://www.hacker.com.cn')WHEREoption_name='home'ORoption_name='siteurl';
2变更GUID
当你将博客从本地主机转移到你的
服务器之后,或者从一个域名转到另一个新的域名,你需要在wp_posts表格修复GUID字段的URL。因为如果输入错误,GUID可以将文章或者页面转到正确的文章绝对路径。
解决方案:
以下为引用的内容:
UPDATEwp_postsSETguid=REPLACE(guid,'http://www.hacker.com.cn','http://www.hacker.com.cn');
3更改内容中的URL
WordPress保存在数据库中的URL链接使用绝对路径而非相对路径。在每个发布文章的记录中,它保存的是旧的URL引用旧的资源。因此,如果你需要将这些URL转的新的域名位置,就可以使用下面的方法。
解决方法:
以下为引用的内容:
UPDATEwp_postsSETpost_content=REPLACE(post_content,'http://www.hacker.com.cn','http://www.hacker.com.cn');
4只改变图像路径
如果你使用亚马逊云计算服务CloudFront作为内容交付网络(CDN)从服务器端卸载图片,在创建完CNAME记录后,你可以使用下面的查询语句来改变WordPress中的图形路径以下载所有的图形。
解决方法:
以下为引用的内容:
UPDATEwp_postsSETpost_content=REPLACE(post_content,'src="http://www.hacker.com.cn','src="http://yourcdn.*******.com');
你还需要用下面的查询更新图片附件的GUID:
以下为引用的内容:
UPDATEwp_postsSETguid=REPLACE(guid,'http://www.hacker.com.cn','http://yourcdn.*******.com')WHEREpost_type='attachment';
5更新文章Meta标签
更新文章Meta标签的方法与更新文章内容中URL方法几乎一致。如果你给每篇文章保存了额外的URL数据,你可以使用下面的查询来更改。
解决办法
以下为引用的内容:
UPDATEwp_postmetaSETmeta_value=REPLACE(meta_value,'http://www.hacker.com.cn','http://www.hacker.com.cn');