网络编程
位置:首页>> 网络编程>> 数据库>> 13个你希望早点知道的实用WordPress SQL查询语句[译](2)

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

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

标签:WordPress,sql,查询,数据库

改变默认的”Admin”用户名

默认的WordPress安装将会使用默认的“Admin”用户名创建一个帐户。使用WordPress的用户都知道这个。问题在于这有可能成为一个安全漏洞,因为黑客能够暴力破解你进入你的WordPress管理面板(子乌注:登录时启用防spam的随机验证会好一些)。如果你能够修改你默认的“Admin”用户名,你可以让你的WordPress管理面板安全一些。

解决:



UPDATE wp_users SET user_login = '新的用户名' WHERE user_login = 'Admin';

重置密码

你是不是曾经试过重置你的WordPress密码,但是无论怎样都无法实现这个目标?

解决:



UPDATE wp_users SET user_pass = MD5( '新密码' ) WHERE user_login = '你的用户名';

将作者甲的所有文章分配给作者乙

如果你试着将作者甲的所有文章合并到作者乙的名下,如果你一篇文章一篇文章地修改将会是一个漫长的工作。使用下面的SQL语句(为啥我看到这句话就觉得好像卖膏药的?),你可以轻易地进行上述操作。

你首先需要在你的WordPress管理面板中访问作者与用户页面取得这两个作者的ID。单击用户名查看他们的描述。在浏览器的地址栏,找到”user_id“。这就是我们需要的作者ID信息

解决:



UPDATE wp_posts SET post_author = '新作者id' WHERE post_author = '旧作者id';

删除修订

当你在WordPress中编辑文章的时候,WordPress会保存你编辑文章的许多修订版。这是对资源的浪费,因为过多的修订记录会增加数据库的负担。时间一长,当你拥有成千上万条记录的时候,你的数据库将成倍增长。这将增加循环次数、数据列举,并将延长页面加载时间。

解决:



DELETE a,b,c FROM wp_posts aLEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)WHERE a.post_type = 'revision'

源代码来自于: Lester chan

注: 请记住,所有post的修订都将会被删除,包括post meta。

删除post meta

对WordPress来说,安装或删除插件是一个非常常用的任务。一些插件会使用post meta来储存与插件有关的数据。当你删除插件的时候,这些数据将依然存在于post_meta表(即使再也不需要)。运行下列语句来清空无用的post meta值。这会有助于数据库的提速并减肥。

解决:

DELETE FROM wp_postmeta WHERE meta_key = '你的meta key';

导出所有未重复的评论电子邮件

在一段时间里,你的blog将会收到很多评论。这些评论都包含有评论者的电子邮件地址。你可以将这些电子邮件地址不重复地加入你的电子邮件列表。

解决:

SELECT DISTINCT comment_author_email FROM wp_comments;

你得到查询结果之后,可以在phpMyAdmin的标签Query results operations(查询结果操作)下,选择“导出”来导出所有的电子邮件地址。

删除所有Pingback

热门文章会收到大量pingback。这会增加你的数据库大小。为了给你的数据库减肥,你可以试着删除所有的pingback。

解决:

DELETE FROM wp_comments WHERE comment_type = 'pingback';

删除所有垃圾评论

如果你有相当多的垃圾评论,去每个页面删除垃圾信息很乏味并让人沮丧(子乌注:那你为啥不去管理面板的评论页中直接删除垃圾评论??)使用下面的SQL语句,即使面对超过500条的垃圾评论,也可以轻而易举地删除它们(子乌注:只要服用了我们独家出产的大力丸,你就可以力举五牛,夜御十女,oyeah~~)

解决:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

  • 0 = 等待审核的评论

  • 1 = 通过审核的评论

  • spam = 标记为垃圾(spam)的评论

标识未使用的标签(tag)

在WordPress数据库中,如果你使用SQL手动删除旧post,旧的标签依然会显示在你的标签云/列表中。这可以让你标识这些未使用的标签,并删除它们。

解决:



SELECT * FROM wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_idINNER JOIN wp_term_relationships wtr ON wtr.term_taxonomy_id=wtt.term_taxonomy_idLEFT JOIN wp_posts wp ON wp.ID=wtr.object_idWHERE taxonomy='post_tag'AND ID IS nullAND NOT EXISTS(SELECT * From wp_terms wt2                INNER JOIN wp_term_taxonomy wtt2 ON wt2.term_id=wtt2.term_id WHERE wtt2.parent=wt.term_id) ORDER BY name;

源代码来自于:Snipplr

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com