首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

14 條實用 MySQL 查詢語句,WordPress 站長必備

     編輯:MySQL 資料庫相關知識

    前言

    在管理 WordPress 網站時,直接操作資料庫往往能解決後台無法處理的棘手問題。本文整理了 14 條高頻使用的 MySQL 查詢語句,涵蓋密碼重置、批量修改作者、清理修訂版本、垃圾評論處理等實戰場景,助你輕鬆駕馭資料庫維護工作。

    1. 手動重置管理員密碼

    當忘記管理員密碼,或網站遭攻擊導致密碼被惡意篡改時,可透過 MySQL 的 MD5() 函數直接更新密碼:

    UPDATE `wp_users` SET `user_pass` = MD5('新密碼') WHERE `user_login` = 'admin' LIMIT 1;

    提醒:執行前請確認資料表前綴(預設為 wp_),並備份資料庫。

    2. 批量變更文章作者

    若初期以 admin 發文,後來新增編輯帳號需歸屬歷史文章,只需知道新舊用戶 ID:

    UPDATE wp_posts SET post_author = 新用戶ID WHERE post_author = 舊用戶ID;

    3. 徹底刪除文章修訂版本及關聯資料

    修訂版本雖利於多人協作,但會嚴重膨脹資料庫。以下語句可連帶刪除 wp_term_relationships(分類/標籤關聯)與 wp_postmeta(自定義欄位)中的孤兒資料:

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

    4. 批量清除待審垃圾評論

    未安裝 Akismet 等反垃圾外掛時,後台可能堆積大量待審評論。一條 SQL 即可全清:

    DELETE FROM wp_comments WHERE comment_approved = '0';

    建議:仍強烈推薦安裝 Akismet 或同類外掛,從源頭攔截垃圾評論。

    5. 查找並刪除未使用的標籤

    標籤資料存於 wp_terms,若創建後未被引用(count = 0),可安全移除:

    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. 通用字串查找與替換

    利用 REPLACE() 函數,適用於網址遷移、關鍵字批量修正等場景:

    UPDATE 資料表名 SET 欄位名 = REPLACE(欄位名, '舊字串', '新字串');

    7. 導出評論者唯一 Email 清單

    DISTINCT 關鍵字確保每個信箱僅出現一次,方便後續行銷或通知:

    SELECT DISTINCT comment_author_email FROM wp_comments;

    8. 一鍵停用所有外掛

    當某外掛導致前後台全掛,無法進入後台操作時,清空 active_plugins 選項即可強制停用全部外掛:

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

    9. 僅刪除所有標籤,保留分類

    因標籤與分類共用 wp_terms 表,不可直接清空。以下語句精準移除標籤及其關聯:

    DELETE a, b, c
    FROM 資料庫前綴_terms AS a
    LEFT JOIN 資料庫前綴_term_taxonomy AS c ON a.term_id = c.term_id
    LEFT JOIN 資料庫前綴_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
    WHERE c.taxonomy = 'post_tag' AND c.count = 0;

    10. 找出孤立的 Post Meta 資料

    外掛或自定義欄位產生的 postmeta 記錄,若對應文章已刪除,會成為垃圾資料:

    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. 批量更新評論者網址(換域名必備)

    網站換域名後,歷史評論中的舊網址可一次替換:

    UPDATE wp_comments SET comment_author_url = REPLACE(comment_author_url, 'https://舊域名', 'https://新域名');

    13. 批量更新評論者 Email

    同理,可修正評論者留下的錯誤或舊信箱:

    UPDATE wp_comments SET comment_author_email = REPLACE(comment_author_email, '舊信箱', '新信箱');

    14. 刪除包含特定惡意連結的評論

    針對夾帶特定垃圾網址的評論進行精準清理:

    DELETE FROM wp_comments WHERE comment_author_url LIKE '%wpbeginner%';

    總結

    善用這 14 條 SQL,能大幅降低 WordPress 維護成本。操作前請務必完整備份資料庫,並在測試環境驗證無誤後再上線執行。

    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved