在使用WordPress的過程當中,咱們少不了要對數據庫進行修改操做,好比,更換域名、修改附件目錄、批量修改文章內容等等。這個時候,使用SQL查詢語句能夠大大簡化咱們的工做量。 php
關於如何操做SQL查詢語句,請移步《phpMyAdmin教程 之 使用SQL查詢語句修改數據庫信息》 html
下面分享一些wordpress經常使用的SQL查詢語句 mysql
注:1.在每次使用SQL查詢語句前,請務必導出數據庫備份!! sql
2.下面的SQL查詢語句,數據庫都是使用WordPress默認的 wp_ 表頭,請根據本身的實際修改。 數據庫
1. 刪除全部未使用的標籤 app
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 |
2.刪除全部文章修訂版本(Revisions)以及它們的Meta數據 wordpress
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' |
3. 更改WordPress地址和首頁地址 post
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' |
4. 更改文章的GUID ui
1 2 |
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.舊網址.com', 'http://www.新網址.com') |
5. 更改正文中的連接地址 url
1 2 |
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') |
7. 重設Admin密碼
1 2 3 |
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' |
9. 將做者a的文章所有轉移到做者b
1 2 3 |
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' |
11. 導出全部評論中的郵件地址
1 2 |
SELECT DISTINCT comment_author_email FROM wp_comments |
12. 刪除全部的Pingback
1 2 |
DELETE FROM wp_comments WHERE comment_type = 'pingback' |
13. 刪除全部的垃圾評論
1 2 |
DELETE FROM wp_comments WHERE comment_approved = 'spam' |
14. 禁用全部激活的插件
1 2 3 |
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 |
16. 關閉舊文章的留言
1 2 3 |
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' ) |
18. 更新正文內全部的’target=」_blank」‘爲’rel=」nofollow」‘
1 2 |
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 |
20.刪除重複的自定義字段(Custom Fields)
詳見:http://www.wpdaxue.com/remove-duplicate-custom-fields.html