在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名、修改附件目录、批量修改文章内容等等。这个时候,使用SQL查询语句可以大大简化我们的工作量。
关于如何操作SQL查询语句,请移步《phpMyAdmin好代码教程 之 使用SQL查询语句修改数据库信息》
下面分享一些wordpress常用的SQL查询语句
注:1.在每次使用SQL查询语句前,请务必导出数据库备份!!
2.下面的SQL查询语句,数据库都是使用WordPress默认的 wp_ 表头,请根据自己的实际修改。
1. 删除所有未使用的标签
1 2 3 4 5 | DELETE a,b,c FROM wp_terms AS a LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE c.taxonomy = 'post_tag' AND c.count = 0 |
DELETE a,b,c FROM wp_terms AS a LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE c.taxonomy = 'post_tag' AND c.count = 0
2.删除所有文章修订版本(Revisions)以及它们的Meta数据
1 2 3 4 5 | DELETE a,b,c FROM wp_posts a LEFT 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' |
DELETE a,b,c FROM wp_posts a LEFT 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'
3. 更改WordPress地址和首页地址
1 2 3 | UPDATE wp_options SET option_value = replace(option_value, 'http://www.旧网址.com', 'http://www.新网址.com') WHERE option_name = 'home' OR option_name = 'siteurl' |
UPDATE wp_options SET option_value = replace(option_value, 'http://www.旧网址.com', 'http://www.新网址.com') WHERE option_name = 'home' OR option_name = 'siteurl'
4. 更改文章的GUID
1 2 | UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.旧网址.com', 'http://www.新网址.com') |
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.旧网址.com', 'http://www.新网址.com')
5. 更改正文中的链接地址
1 2 | UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.旧网址.com', 'http://www.新网址.com') |
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.旧网址.com', 'http://www.新网址.com')
6. 更新文章的Meta值
1 2 | UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.旧网址.com', 'http://www.新网址.com') |
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.旧网址.com', 'http://www.新网址.com')
7. 重设Admin密码
1 2 3 | UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'admin' |
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'admin'
8. 重设admin的用户名
1 2 3 | UPDATE wp_users SET user_login = 'newname' WHERE user_login = 'admin' |
UPDATE wp_users SET user_login = 'newname' WHERE user_login = 'admin'
9. 将作者a的文章全部转移到作者b
1 2 3 | UPDATE wp_posts SET post_author = 'b' WHERE post_author = 'a' |
UPDATE wp_posts SET post_author = 'b' WHERE post_author = 'a'
10. 删除文章的meta标签
1 2 | DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key' |
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key'
11. 导出所有评论中的邮件地址
1 2 | SELECT DISTINCT comment_author_email FROM wp_comments |
SELECT DISTINCT comment_author_email FROM wp_comments
12. 删除所有的Pingback
1 2 | DELETE FROM wp_comments WHERE comment_type = 'pingback' |
DELETE FROM wp_comments WHERE comment_type = 'pingback'
13. 删除所有的垃圾评论
1 2 | DELETE FROM wp_comments WHERE comment_approved = 'spam' |
DELETE FROM wp_comments WHERE comment_approved = 'spam'
14. 禁用所有激活的插件
1 2 3 | UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins' |
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins'
15. 罗列所有未使用的Meta标签
1 2 3 4 | SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL |
SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
16. 关闭旧文章的留言
1 2 3 | UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish' |
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish'
17. 更新留言者的网址
1 2 | UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://旧网址.com', 'http://新网址.com' ) |
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://旧网址.com', 'http://新网址.com' )
18. 更新正文内所有的’target=”_blank”‘为’rel=”nofollow”‘
1 2 | UPDATE wp_posts SET post_content = REPLACE (post_content, 'target="_blank', 'rel="nofollow') |
UPDATE wp_posts SET post_content = REPLACE (post_content, 'target="_blank', 'rel="nofollow')
以上18条来自 http://paranimage.com/19-wordpress-sql-hacks/,以后将继续补充。
19.删除未使用的Meta标签
1 2 3 4 | DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL |
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
20.删除重复的自定义字段(Custom Fields)
详见:https://www.wpdaxue.com/remove-duplicate-custom-fields.html
21.更改文章自定义字段的名称
1 | UPDATE `wp_postmeta` SET `meta_key` = '新名称' WHERE `meta_key` = '旧名称'; |
UPDATE `wp_postmeta` SET `meta_key` = '新名称' WHERE `meta_key` = '旧名称';
以上就是WordPress 常用数据库SQL查询语句大全。明白很多事情无法顺着自我的意思,但是发奋用最恰当的方式让事情变成最后自我想要的样貌。强壮是,如果最后事情实在无法实现,那么也能够理解下来,不会失控,而是冷静理智的去想下一步。更多关于WordPress 常用数据库SQL查询语句大全请关注haodaima.com其它相关文章!