整理的一些實用WordPress后臺MySQL操作命令
Jun 13, 2016 am 11:55 AM
不過假設(shè)你的WordPress網(wǎng)站上有成百上千篇文章,而你需要進行全站范圍的改動, 這時從后臺逐條編輯就有點費時費力了,并且犯錯的幾率也會提高。 最好的方法是進入WordPress的MySQL數(shù)據(jù)庫執(zhí)行必要的查詢(改動)。 通過MySQL可以迅速地完成以上任務(wù),為你節(jié)省更多時間。
下面要介紹的就是一些省時省力的WordPress SQL查詢方法。
事先備份
WordPress數(shù)據(jù)庫里存儲了你精心發(fā)表的每一篇文章,來自你的讀者的所有評論,以及你對自己網(wǎng)站進行的所有個性化設(shè)置。 因此,無論你對自己有多自信,都請記住一定要事先備份WordPress數(shù)據(jù)庫。 你可以通過備份插件進行備份。
為所有文章和頁面添加自定義字段
這段代碼可以為WordPress數(shù)據(jù)庫內(nèi)所有文章和頁面添加一個自定義字段。 你需要做的就是把代碼中的‘UniversalCutomField‘替換成你需要的文字,然后把‘MyValue‘改成需要的值。
復(fù)制代碼 代碼如下:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value FROM wp_postsWHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField');
如果只需要為文章添加自定義字段,可以使用下面這段代碼:
復(fù)制代碼 代碼如下:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value
FROM wp_posts WHERE ID NOT IN
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')`` AND post_type = 'post';
如果只需要為頁面添加自定義字段,可以使用下面這段代碼:
復(fù)制代碼 代碼如下:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value
FROM wp_posts WHERE ID NOT IN
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')AND `post_type` = 'page';
刪除文章meta數(shù)據(jù)
當你安裝或刪除插件時,系統(tǒng)通過文章meta標簽存儲數(shù)據(jù)。 插件被刪除后,數(shù)據(jù)依然會存留在post_meta表中,當然這時你已經(jīng)不再需要這些數(shù)據(jù),完全可以刪除之。 記住在運行查詢前把代碼里的‘YourMetaKey‘替換成你需要的相應(yīng)值。
復(fù)制代碼 代碼如下:
DELETE FROM wp_postmeta WHERE meta_key = 'YourMetaKey';
查找無用標簽
如果你在WordPress數(shù)據(jù)庫里執(zhí)行查詢刪除舊文章,和之前刪除插件時的情況一樣,文章所屬標簽會留在數(shù)據(jù)庫里,并且還會出現(xiàn)在標簽列表/標簽云里。 下面的查詢可以幫你找出無用的標簽。
復(fù)制代碼 代碼如下:
SELECT * From wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;
批量刪除垃圾評論
執(zhí)行以下SQL命令:
復(fù)制代碼 代碼如下:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
批量刪除所有未審核評論
這個SQL查詢會刪除你的網(wǎng)站上所有未審核評論,不影響已審核評論。
復(fù)制代碼 代碼如下:
DELETE FROM wp_comments WHERE comment_approved = 0
禁止評論較早文章
指定comment_status的值為open、closed或registered_only。
此外還需要設(shè)置日期(修改代碼中的2010-01-01):
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date
停用/激活trackback與pingback
指定comment_status的值為open、closed或registered_only。
向所有用戶激活pingbacks/trackbacks:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET ping_status = 'open';
向所有用戶禁用pingbacks/trackbacks:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET ping_status = 'closed';
激活/停用某一日期前的Pingbacks & Trackbacks
指定ping_status的值為open、closed或registered_only。
此外還需要設(shè)置日期(修改代碼中的2010-01-01):
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET ping_status = 'closed' WHERE post_date
刪除特定URL的評論
當你發(fā)現(xiàn)很多垃圾評論都帶有相同的URL鏈接,可以利用下面的查詢一次性刪除這些評論。%表示含有“%"符號內(nèi)字符串的所有URL都將被刪除。
復(fù)制代碼 代碼如下:
DELETE from wp_comments WHERE comment_author_url LIKE "%nastyspamurl%" ;
識別并刪除“X"天前的文章
查找“X"天前的所有文章(注意把X替換成相應(yīng)數(shù)值):
復(fù)制代碼 代碼如下:
SELECT * FROM `wp_posts` WHERE `post_type` = 'post'AND DATEDIFF(NOW(), `post_date`) > X
刪除“X"天前的所有文章:
復(fù)制代碼 代碼如下:
DELETE FROM `wp_posts` WHERE `post_type` = 'post'AND DATEDIFF(NOW(), `post_date`) > X
刪除不需要的短代碼
當你決定不再使用短代碼時,它們不會自動消失。你可以用一個簡單的SQL查詢命令刪除所有不需要的短代碼。 把“tweet"替換成相應(yīng)短代碼名稱:
復(fù)制代碼 代碼如下:
UPDATE wp_post SET post_content = replace(post_content, '[tweet]', '' ) ;
將文章轉(zhuǎn)為頁面
依然只要通過PHPMyAdmin運行一個SQL查詢就可以搞定:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET post_type = 'page' WHERE post_type = 'post'
將頁面轉(zhuǎn)換成文章:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET post_type = 'post' WHERE post_type = 'page'
更改所有文章上的作者屬性
首先通過下面的SQL命令檢索作者的ID:
復(fù)制代碼 代碼如下:
SELECT ID, display_name FROM wp_users;
成功獲取該作者的新舊ID后,插入以下命令,記住用新作者ID替換NEW_AUTHOR_ID,舊作者ID替換OLD_AUTHOR_ID。
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
批量刪除文章修訂歷史
文章修訂歷史保存可以很實用,也可以很讓人煩惱。 你可以手動刪除修訂歷史,也可以利用SQL查詢給自己節(jié)省時間。
復(fù)制代碼 代碼如下:
DELETE FROM wp_posts WHERE post_type = "revision";
停用/激活所有WordPress插件
激活某個插件后發(fā)現(xiàn)無法登錄WordPress管理面板了,試試下面的查詢命令吧,它會立即禁用所有插件,讓你重新登錄。
復(fù)制代碼 代碼如下:
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';
更改WordPress網(wǎng)站的目標URL
把WordPress博客(模板文件、上傳內(nèi)容&數(shù)據(jù)庫)從一臺服務(wù)器移到另一臺服務(wù)器后,接下來你需要告訴WordPress你的新博客地址。
使用以下命令時,注意將http://www.old-site.com換成你的原URL,http://blog.doucube.com換成新URL地址。
首先:
復(fù)制代碼 代碼如下:
UPDATE wp_options
SET option_value = replace(option_value, 'http://www.old-site.com', 'http://blog.doucube.com')
WHERE option_name = 'home' OR option_name = 'siteurl';
然后利用下面的命令更改wp_posts里的URL:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET guid = replace(guid, 'http://www.old-site.com','http://blog.doucube.com);
最后,搜索文章內(nèi)容以確保新URL鏈接與原鏈接沒有弄混:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET post_content = replace(post_content, ' http://www.ancien-site.com ', ' http://blog.doucube.com ');
更改默認用戶名Admin
把其中的YourNewUsername替換成新用戶名。
復(fù)制代碼 代碼如下:
UPDATE wp_users SET user_login = 'YourNewUsername' WHERE user_login = 'Admin';
手動重置WordPress密碼
如果你是你的WordPress網(wǎng)站上的唯一作者,并且你沒有修改默認用戶名, 這時你可以用下面的SQL查詢來重置密碼(把其中的PASSWORD換成新密碼):
復(fù)制代碼 代碼如下:
UPDATE `wordpress`.`wp_users` SET `user_pass` = MD5('PASSWORD')
WHERE `wp_users`.`user_login` =`admin` LIMIT 1;
搜索并替換文章內(nèi)容
OriginalText換成被替換內(nèi)容,ReplacedText換成目標內(nèi)容:
復(fù)制代碼 代碼如下:
UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'OriginalText','ReplacedText');
更改圖片URL
下面的SQL命令可以幫你修改圖片路徑:
復(fù)制代碼 代碼如下:
UPDATE wp_postsSET post_content = REPLACE (post_content, 'src="http://www.myoldurl.com', 'src="http://blog.doucube.com');

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

mysqldump是用於執(zhí)行MySQL數(shù)據(jù)庫邏輯備份的常用工具,它生成包含CREATE和INSERT語句的SQL文件以重建數(shù)據(jù)庫。 1.它不備份原始文件,而是將數(shù)據(jù)庫結(jié)構(gòu)和內(nèi)容轉(zhuǎn)換為可移植的SQL命令;2.適用於小型數(shù)據(jù)庫或選擇性恢復(fù),不適合TB級數(shù)據(jù)快速恢復(fù);3.常用選項包括--single-transaction、--databases、--all-databases、--routines等;4.恢復(fù)時使用mysql命令導(dǎo)入,並可關(guān)閉外鍵檢查以提升速度;5.建議定期測試備份、使用壓縮、自動化調(diào)

處理MySQL中的NULL值需注意:1.設(shè)計表時關(guān)鍵字段設(shè)為NOTNULL,可選字段允許NULL;2.查詢判斷必須用ISNULL或ISNOTNULL,不能用=或!=;3.可用IFNULL或COALESCE函數(shù)替換顯示默認值;4.插入或更新時直接使用NULL值需謹慎,注意數(shù)據(jù)源和ORM框架處理方式。 NULL表示未知值,不等於任何值,包括自身,因此查詢、統(tǒng)計、連接表時要特別小心,避免漏數(shù)據(jù)或邏輯錯誤。合理使用函數(shù)和約束可以有效減少因NULL帶來的干擾。

GROUPBY用於按字段分組數(shù)據(jù)並執(zhí)行聚合操作,HAVING用於過濾分組後的結(jié)果。例如,使用GROUPBYcustomer_id可計算每個客戶的總消費金額;配合HAVING可篩選出總消費超過1000的客戶。 SELECT後的非聚合字段必須出現(xiàn)在GROUPBY中,HAVING可使用別名或原始表達式進行條件篩選。常見技巧包括統(tǒng)計每組數(shù)量、多字段分組、結(jié)合多個條件過濾。

MySQL支持事務(wù)處理,使用InnoDB存儲引擎可確保數(shù)據(jù)一致性和完整性。 1.事務(wù)是一組SQL操作,要么全部成功,要么全部失敗回滾;2.ACID屬性包括原子性、一致性、隔離性和持久性;3.手動控制事務(wù)的語句為STARTTRANSACTION、COMMIT和ROLLBACK;4.四種隔離級別包括讀未提交、讀已提交、可重複讀和串行化;5.正確使用事務(wù)需注意避免長時間運行、關(guān)閉自動提交、合理處理鎖及異常。通過這些機制,MySQL可實現(xiàn)高可靠與並發(fā)控制。

要查看MySQL數(shù)據(jù)庫和表的大小,可直接查詢information_schema或使用命令行工具。 1.查看整個數(shù)據(jù)庫大小:執(zhí)行SQL語句SELECTtable_schemaAS'Database',SUM(data_length index_length)/1024/1024AS'Size(MB)'FROMinformation_schema.tablesGROUPBYtable_schema;可獲取所有數(shù)據(jù)庫的總大小,也可加WHERE條件限定具體數(shù)據(jù)庫;2.查看單個表大?。和ㄟ^SELECTta

字符集和排序規(guī)則問題常見於跨平臺遷移或多人開發(fā)時,導(dǎo)致亂碼或查詢不一致。核心解決方法有三:一要檢查並統(tǒng)一數(shù)據(jù)庫、表、字段的字符集為utf8mb4,通過SHOWCREATEDATABASE/TABLE查看,用ALTER語句修改;二要在客戶端連接時指定utf8mb4字符集,在連接參數(shù)或執(zhí)行SETNAMES中設(shè)置;三要合理選擇排序規(guī)則,推薦使用utf8mb4_unicode_ci以確保比較和排序準確性,並在建庫建表時指定或通過ALTER修改。

要設(shè)置MySQL的異步主從復(fù)制,請按以下步驟操作:1.準備主服務(wù)器,啟用二進制日誌並設(shè)置唯一server-id,創(chuàng)建複製用戶並記錄當前日誌位置;2.使用mysqldump備份主庫數(shù)據(jù)並導(dǎo)入到從服務(wù)器;3.配置從服務(wù)器的server-id和relay-log,使用CHANGEMASTER命令連接主庫並啟動複製線程;4.檢查常見問題,如網(wǎng)絡(luò)、權(quán)限、數(shù)據(jù)一致性及自增沖突,並監(jiān)控複製延遲。按照上述步驟操作可確保配置正確完成。

連接MySQL數(shù)據(jù)庫最直接的方式是使用命令行客戶端。首先輸入mysql-u用戶名-p並正確輸入密碼即可進入交互式界面;若連接遠程數(shù)據(jù)庫,需添加-h參數(shù)指定主機地址。其次,可直接在登錄時切換到特定數(shù)據(jù)庫或執(zhí)行SQL文件,如mysql-u用戶名-p數(shù)據(jù)庫名或mysql-u用戶名-p數(shù)據(jù)庫名
