多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > WordPress > WordPress數據庫維護常用的12個SQL語句

WordPress數據庫維護常用的12個SQL語句

來源:程序員人生   發布時間:2014-01-21 21:27:06 閱讀次數:3056次

雖然通過 WordPress 強大的插件庫,你幾乎可以干任何的事情,但是有時候需要快速修復一些特定的問題的時候,直接操作數據庫可能反而是方便的方法,所以這篇文章就給大家介紹 WordPress 數據庫維護時常用到 12 個 SQL 語句。

*注:下面假設 WordPress 數據庫的表的前綴都是默認的“wp_”。

1. 直接在數據庫中修改密碼
密碼忘記了是經常的事情,博客密碼忘記了進不去,可以直接在數據庫里面修改:

UPDATE 'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'user_login' ='admin' LIMIT 1;

上面采用了 MySQL 的 MD5() 函數講密碼轉成 MD5 Hash。

2. 將日志從一個作者轉移到另外一個
假如你的博客的某個作者離開了,或者你不想讓“admin”作為作者名,想把日志的作者從一個改到另外一個:

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

*注:你需要知道兩個作者的 user id。

3. 刪除數據庫中日志修訂記錄和其相關的 post_meta 數據
特別是針對多人博客的時候,日志修訂功能很重要,但是日志修訂功能也在數據庫里面添加了很多的數據,假設你的博客只有 100 篇日志,每篇日志有 10 個日志修訂,你的 posts 表中就會有超過 1000 條記錄,嚴重的數據冗余:

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

*注:上面的 SQL 將刪除數據庫中所有的日志修訂記錄和其相關的 meta 信息(自定義字段)。

當然你還可以:徹底屏蔽日志修訂功能。

4. 批量刪除垃圾留言
如果你一段時間沒有管理你的博客,剛好出去休假,沒有辦法上網,并且博客也沒有裝類似 Akismet 這類防垃圾留言插件,那么你回來的時候,你會發現博客后臺有成千上萬條垃圾留言需要你去審核。 這個時候,其實你只需要審核通過正常的留言,然后執行下面這條 SQL:

DELETE from wp_comments WHERE comment_approved = '0';

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_posts SET post_content = replace( post_content, 'string_to_find', 'string_to_replace' ) ;

將某個留言者地址替換下:

UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://oldurl.com', 'http://newurl.com' );

留言者郵箱:

UPDATE wp_comments SET comment_author_email = REPLACE( comment_author_email, 'old-email@address.com', 'new-email@address.com' );

還有一個 WordPress 插件 Search & Replace 還提供一個后臺讓你更加容易進行批量替換。

7. 獲取所有留言者的郵件地址
有時候你想做點不是那么好的事情,比如給所有留言者發下郵件,告訴他們你博客做了一些新的功能,或者寫了一個很不錯的文章,那么你干壞事情之前,首先要獲取所有留言者的郵件地址:

SELECT DISTINCT comment_author_email FROM wp_comments;

*注:上面的 DISTINCT 讓你獲取的郵件地址是唯一的,即使這個用戶發過好幾次留言,也不怕。

不過群發郵件這件事情個人建議還是不要這樣做好。

8. 一次把所有插件都停了
網站出現問題了,需要一次把插件全部都先停了之后檢測下:

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

9. 刪除所有標簽
有時候,你瘋了,想刪除博客所有的標簽,這個時候你不能單純的清空 wp_terms 表,因為 wp_terms 表同時存了分類和標簽的數據,這樣你就把分類信息也刪除了,這樣你就真的瘋了。

DELETE a,b,c
FROM
database.prefix_terms AS a
LEFT JOIN database.prefix_term_taxonomy AS c ON a.term_id = c.term_id
LEFT JOIN database.prefix_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE (
c.taxonomy = 'post_tag' AND
c.count = 0
);

*注:上面 SQL 除了刪除標簽,還刪除了所有標簽和標簽和日志關聯的關系。

10. 列出沒用的 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;

11. 關閉舊日志留言功能
厄,對于一些技術博客或者其他博客來說,一些舊日志的內容可能已經過時了,但是一些讀者,還是對一些問題“糾纏不清”或者“喋喋不休”,怎么辦,把留言關了就好了:

關閉留言:

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';

12. 刪除所有 url 含有特定字符串的留言
一些留言者很煩,一次留幾十個,其鏈接都指定到一些賣偉哥,起重機,SEO 的站點,煩人的很,一個一個刪,又累,下面這條 SQL 可以來幫忙:

DELETE from wp_comments WHERE comment_author_url LIKE "%viagra%" ;

簡單總結
這些 SQL 語句是直接對數據庫進行操作的,如果你不是那么懂數據庫或者 SQL 語言,建議你不要這么做,如果你還是比較自信 SQL 操作,建議操作之前備份下數據庫。

你在維護 WordPress 有什么常用的 SQL ,歡迎留言補充。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 午夜在线亚洲 | 火辣福利网站 | 久久精品国产精品亚洲精品 | 精品在线视频播放 | 成人在线视频网 | 国产精品久久久久久久久久直 | 手机看片国产精品 | www在线观看免费 | 噜噜噜噜私人影院老湿在线观看 | 欧美精品久久久久久久小说 | 91久久亚洲精品国产一区二区 | 色www永久免费 | 亚洲精品视频观看 | 成人永久福利在线观看不卡 | 在线观看欧洲成人免费视频 | 亚洲精品精品一区 | 欧美日韩亚洲一区二区精品 | 69免费视频大片 | 五月天在线观看免费视频播放 | 老司机午夜精品网站在线观看 | 性色生活免费看性大片 | 成人精品一区二区不卡视频 | 无码精品一区二区三区免费视频 | 日本8888xxxx免费视频 | 亚洲私人影院 | 国内精品久久久久影院网站 | 宇都宫紫苑(rion)在线播放 | 久久性生活视频 | 精品日韩欧美国产一区二区 | 亚洲十欧美十日韩十国产 | 日韩一级欧美一级毛片在线 | 成人欧美一区二区三区视频xxx | 114毛片免费观看网站 | 欧美国产一区二区 | 伊人久久成人成综合网222 | 亚洲最新黄色网址 | 久久久免费的精品 | 日本96在线精品视频免费观看 | 最近视频中文在线播放 | 国模一区二区三区视频一 | 国产第一页亚洲 |