十四條實用的MySQL 查詢語句

來源:互聯網
上載者:User

   1. 手動修改密碼

  某些情況下,我們忘記了管理員的密碼。或者網站遭受攻擊後,管理員密碼被惡意修改了。這個時候,我們能做的就只有重新設定管理員的密碼了。

  以下查詢語句,使用 MySQL 的 MD5() 函數將我們的密碼進行 MD5 加密。

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

  2. 批量轉換日式的作者

  大多數剛使用 WordPress 的人可能都是直接使用 “admin”這個使用者來直接發布日誌。等您建立一個使用者後,如果想將原來日誌的作者批量修改為新使用者的時候,可以使用以下查詢語句。

  在執行之前,您需要知道老使用者和新使用者的使用者識別碼。

  UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

  3. 刪除日誌修訂版本和其相關的資訊

  日誌的修訂版本功能在多使用者共同維護一個部落格的時候非常有用。不過該功能在資料庫中添加過多的記錄數也是很讓人惱火的。

  執行以下語句,可以將資料庫中的日誌修訂版本記錄以及其中的其他資訊(包括自訂地區等等)刪除掉。執行後,會節省很多資料庫空間。

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

  4. 大量刪除垃圾評論

  在您的部落格沒有安裝 Akismet 或其他替代品的前提下,一段時間沒有進入後台進行評論審核。可能會出現幾百甚至上千條未審核的評論。而且大部分可能是垃圾評論。這個時候,如果您在後台進行刪除,可能會浪費掉您很多時間。以下語句可以在資料庫中大量刪除掉所有未審核的評論。

  奉勸一句,還是安裝 Akismet 或類似的外掛程式吧,可以省卻您很多煩惱。

  DELETE from wp_comments WHERE comment_approved = '0';

  5. 尋找未使用的標籤

  標籤的記錄是存放在 wp_terms 這個資料表中的。有時,可能部分標籤建立了但是沒有被使用,他們仍然會在資料表中。以下語句可以對這些未使用的標籤進行查詢,您可以安全的將其刪除。

  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. 尋找並替換資料

  該語句不光是在 WordPress 的使用過程中能用到。您可以在很多地方用到該 MySQL 查詢語句。其使用 MySQL 的 replace() 函數將一段字串替換成您指定的另一段字串。

  UPDATE table_name SET field_name = replace( field_name, 'string_to_find', 'string_to_replace' ) ;

  7. 獲得發表評論訪問者的電子郵箱地址清單

  該語句可以返回一個在您部落格上進行評論的使用者的電子郵箱地址清單。語句中的 DISTINCT 參數用來保證每個電子郵箱地址只顯示一次。

  SELECT DISTINCT comment_author_email FROM wp_comments;

  8. 一次性禁用掉所有外掛程式

  雖然新版的 WordPress 已經可以直接在後台對外掛程式進行批量的啟用和禁用操作。但是當某些外掛程式引起整個網站不能正常訪問的時候,我們就可以使用以下語句禁用掉網站內所有的外掛程式,然後再進入到 WordPress 後台進行調試操作。

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

  9. 刪除所有標籤

  標籤的資訊是存放在 wp_terms 資料表中的。而且,是和分類以及其他一些資訊存放在相同一個表中。如果您想刪除所有的標籤記錄,是無法簡單的清空 wp_terms 這個資料表的。這會導致分類資訊丟失。

  執行以下語句,可以僅僅刪除掉標籤記錄以及與日誌的關聯資訊,而其他的分類等資訊不會發生改變。

  DELETE a,b,cFROM 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_idWHERE ( c.taxonomy = 'post_tag' AND c.count = 0 );

  10. 列舉無用的日誌資訊

  日誌的 Meta 資訊通常是由外掛程式或自訂地區建立的。它們非常實用,但也會讓您的資料庫尺寸快速的變得臃腫。以下語句會顯示 postmeta 表中那些沒有在 post 表有對應關係的記錄,便於您對資料庫進行清理。

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

  12. 替換評論者的連結

  上文提到了 MySQL 的 replace() 函數。該條語句就是一個很好的例子。如果您的網站網域名稱發生了改變,您可以使用該語句將您在自己站上發表的評論中的連結批量替換為新的網域名稱。

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

  13. 替換評論者的電子郵箱地址

  和上一條差不多,批量替換掉電子郵箱地址。

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

  14. 刪除包含指定連結的評論

  某些垃圾評論發行者還是很會鑽空子的。經常發布一些貌似與文章相關的評論,可評論內容中通常包含惡意網站的連結。等你發現的時候,可能這樣的評論已經很多了。使用以下代碼,可以方便的將包含指定連結地址的評論一次性刪除掉。

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.