WordPress 資料庫維護有用的SQL語句

1.批次刪除文章修訂
WordPress2.6以後的版本增加了一個Post revisions功能,雖然有點用,但文章修訂增加了你資料庫的大小,我們可以選擇批次刪除。登錄phpMyAdmin後執行下面的SQL語句即可批次刪除。
DELETE FROM wp_posts WHERE post_type = “revision";

2.批量刪除垃圾評論
DELETE from wp_comments WHERE comment_approved = ‘0’;

3.直接在資料庫中修改密碼
密碼忘記了是經常的事情,可以直接在資料庫裡面修改
UPDATE ‘wp_users’ SET ‘user_pass’ = MD5(‘PASSWORD’) WHERE ‘user_login’ =’admin’ LIMIT 1;

4.將日誌從一個作者轉移到另外一個
假如你的Blog某個作者離開了,或者你不想讓「admin」作為作者名,想把日誌的作者從一個改到另外一個:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

5.查找沒用的標籤
你可能創建一些 WordPress 標籤之後,就沒有再使用,你可以通過下面這條 SQL 找到它們,然後安全的刪除他們。
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy=’post_tag’ AND wtt.count=0;

6.查找和替換數據
對於熟悉 MySQL 數據庫的開發者來說,replace() 這個 MySQL 函數都應該很熟悉,它可以讓你指定一個字段,然後替換它裡面的字符串,一旦執行,所有這個字段裡面的字符串都會被替換。
對於 WordPress這個 SQL 則非常實用,它可以讓你批量修改某些輸入錯誤,或者某個郵件地址等等。
UPDATE table_name SET field_name = replace( field_name, ‘string_to_find’, ‘string_to_replace’ ) ;
將某個留言者地址替換下:
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, ‘http://oldurl.com’, ‘http://newurl.com’ );

7.列出沒用的 post meta
wp_postmeta 中的數據是由一些插件或者自定義字段生成的,他是對 wp_posts 表的一種無限的擴展,但是可能由於某種原因,日誌被刪除了,但是它的 meta 信息還存在 wp_postmeta 表中。
下面這條 SQL 將這些沒有關聯日誌的 meta 數據列出:
SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;

8.關閉舊日誌留言功能
一些舊日誌的內容可能已經過時了,但是一些讀者還是對一些問題「糾纏不清」或者「喋喋不休」,怎麼辦把留言關了就好了
關閉留言:
UPDATE wp_posts SET comment_status = ‘closed’ WHERE post_date < ‘2009-01-01’ AND post_status = ‘publish’;
關閉Trackback:
UPDATE wp_posts SET ping_status="closed" WHERE post_date < ‘2009-01-01’ AND post_status = ‘publish’;
ERIC3400

Tags: ,