WordPress数据库常用SQL语句

2013.02.03 | | 0 Comment

提醒:在您进行任何更改之前,请务必备份您的数据库。这样即使修改错了,你仍然能够恢复。

WordPress数据库存储了站点所有信息,数据库对站点来说至关紧要,一般情况下不要折腾数据库。但是很多情况下,使用SQL语句批量修改站点内容,大大提高效率。下面的SQL语句均收集自网络,操作需谨慎。

所有的SQL语句都是假定你的数据库的前缀是"wp_" ,如果你使用不同的表前缀,请自行修改。

更改文章内容的URL

替换之前文章中的一些内链网址或者内容,如博客名称、网址、文章配图的URL等等。

UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.旧网址.com', 'http://www.新网址.com');   

修改评论者信息

例如自己换域名了、更改用户名了、又或者修改网友评论信息。

UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, '旧网址.com', '新网址.com' );  
UPDATE wp_comments SET comment_author_email = REPLACE( comment_author_email, '旧email', '新email' );
UPDATE wp_comments SET comment_author = replace(comment_author, '旧名称','新名称');

删除所有文章的修订版、多媒体文件管理功能等

默认状态下,当您编辑在WordPress的文章,会有很多修改副本被保存。随着时间的推移,wordpress数据库将越来越多垃圾,越来越累赘。

DELETE FROM wp_postmeta WHERE meta_key in ('_edit_lock', '_edit_last', '_wp_old_slug', '_revision-control', '{{unknown}}', '_wp_attached_file', '_wp_attachment_metadata');
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);

替换评论者的敏感词汇

UPDATE wp_comments SET comment_content = REPLACE( comment_content, 'fuck', '**' );  

删除未使用的标签

一个博客的标签不宜过多,不利于SEO。你可以通过该语句整理数据库,清理未使用的标签。

DELETE a,b,c FROM wp_terms AS a LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE c.taxonomy = 'post_tag' AND c.count = 0;

删除所有垃圾评论

DELETE FROM wp_comments  WHERE comment_type = 'trash';

删除所有待审评论

DELETE FROM wp_comments  WHERE comment_approved = '0';

手动重设用户密码为:PASSWORD

UPDATE wp_users SET user_pass = MD5('PASSWORD') WHERE wp_users.user_login ='用户名' LIMIT 1; 

WordPress 更改域名相关 SQL

UPDATE wp_options SET option_value = replace(option_value, 'http://www.旧网址.com', 'http://www.新网址.com') WHERE option_name = 'home' OR  option_name = 'siteurl' ;  
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.旧网址.com', 'http://www.新网址.com') ;
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.旧网址.com', 'http://www.新网址.com') ;

删除所有的Pingback

DELETE FROM wp_comments WHERE comment_type = 'pingback' ;  

关闭旧文章的留言

我们可以在WordPress控制面板中设置XX天之后的文章关闭留言功能,但是对于一些旧文章,该功能就起不到任何作用了。我们可以使用SQL语句设定XXXX之前的文章关闭留言功能。

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish' ;

清理wp_options表中的RSS Feed Cache

DELETE FROM wp_options WHERE option_name REGEXP "_transient_"

SQL 批量删除 WordPress 自定义栏目

DELETE FROM wp_postmeta WHERE meta_key ='自定义栏目名称';
——最近更新:2015年8月31日
支付宝扫码打赏微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏老杨

声明: 除非注明,常阳时光文章均为原创,转载请以链接形式标明本文地址
本文地址:https://cyhour.com/20/

Comments:0

发表留言