熟悉WordPress的人都知道WordPress是由MySQL數據庫驅動的。MySQL是一個免費的關系數據庫管理系統,大多數的主機托管服務商都有提供。WordPress所有數據如文章、評論、分類、設置等信息都是保存在MySQl數據庫中。如果你想要了解更多關於MySQL的信息,可以訪問WordPress的數據庫模式。
舉一個例子,如果你想在WordPress後台修改一些信息,查找每一個記錄不僅耗時而且還很可能出錯。而在WordPress數據庫中通過簡單地執行一個SQL查詢就可以非常快速高效地做必要的修改。 下面就列出幾個非常實用的SQL查詢,對你實用WordPress將有非常大的幫助。
備份WordPress數據庫
在執行任何修改之前,請先確保對數據庫備份。要養成在做任何大的修改之前總是先備份下數據庫的好習慣。這樣一來,即使出現了什麼錯誤,你還可以還原。
你可以下載WP-DB-Backup 或WP-DBManager 插件,通過WordPress管理面板來備份你的數據庫。或者你也可以通過PHPMyAdmin手動完成對你數據庫備份。
如果你決定手動完成數據庫備份,按照下面的操作步驟:
1、登錄到PHPMyAdmin。
2、選擇WordPress 數據庫。
3、點擊導航頂部的輸出。
4、選擇你需要備份的表格,或者選擇所有表格對整個數據庫進行備份。
5、選擇SQL將輸出的文件存為 .sql的擴展名。
6、勾選"另存為文件" 復選框。
7、選擇文件壓縮類型,選擇gzipped將數據庫壓縮。
8、最後點擊“執行”將會出現一個下載窗口提示你保存備份文件。
十三個WordPress SQL查詢語句
執行下面這些查詢最方便的方法是使用phpMyAdmin。PHPMyAdmin是最常見的數據庫編輯和查找工具。幾乎所有的主機服務商的控制面板都有提供這個工具。或者你也可以使用WordPress 插件WordPress SQL Executioner 來執行SQL查詢。
使用 PHPMyAdmin的話,其步驟如下:
登錄 PHPMyAdmin 面板選擇WordPress數據庫。
點擊SQL標簽,這樣你就進入了一個SQL查詢框的頁面。
看到如下圖所示的SQL查詢框之後,你就可以在裡執行SQL查詢。
注意: 所有的查詢都是直接的SQL查詢,並假設標准的表格前綴是'wp_' ,如果你使用其他的表格前綴,請相應地做修改。
1 變更Siteurl & Homeurl
WordPress將站點URL的絕對路徑和本地URL保存在數據庫中。因此,如果你將WordPress站點從本地主機轉到你的服務器,你的站點不會加載網絡,因為你的絕對路徑URL仍然指向你的本地主機。你需要改變站點URL和本地URL,網站才能運作。
解決辦法:
以下為引用的內容:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
2 變更 GUID
當你將博客從本地主機轉移到你的服務器之後,或者從一個域名轉到另一個新的域名,你需要在wp_posts表格修復GUID 字段的URL。因為如果輸入錯誤,GUID可以將文章或者頁面轉到正確的文章絕對路徑。
解決方案:
以下為引用的內容:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
3 更改內容中的URL
WordPress保存在數據庫中的URL鏈接使用絕對路徑而非相對路徑。在每個發布文章的記錄中,它保存的是舊的URL引用舊的資源。因此,如果你需要將這些URL轉的新的域名位置,就可以使用下面的方法。
解決方法:
以下為引用的內容:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
4 只改變圖像路徑
如果你使用亞馬遜雲計算服務CloudFront 作為內容交付網絡 (CDN) 從服務器端卸載圖片,在創建完CNAME記錄後,你可以使用下面的查詢語句來改變WordPress中的圖形路徑以下載所有的圖形。
解決方法:
以下為引用的內容:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
你還需要用下面的查詢更新圖片附件的GUID:
以下為引用的內容:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';
5 更新文章Meta標簽
更新文章Meta標簽的方法與更新文章內容中URL方法幾乎一致。如果你給每篇文章保存了額外的URL數據,你可以使用下面的查詢來更改。
解決辦法
以下為引用的內容:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');