陈德馨

WordPress 中非常实用的SQL语句

1141人参与 |分类: 站长百科|时间:2015年12月19日 16:35

想必熟悉 WordPress 的朋友都知道,平时我们很多操作用代码实现起来比较麻烦,但直接用sql语句就非常方便了,不过由于sql语句操作起来风险比较大,稍有不慎网站就崩了,所以在执行sql语句之前陈德馨强烈建议大家先备份一下,毕竟备份一下数据库几秒钟就完成了,这样就算出了事情也不怕。

下面会将自己收集整理好的一些sql语句列出来,就当是做个记录吧!

1、删除所有未使用的标签

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

2、删除所有文章修订版本(Revisions)以及它们的Meta数据

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'

3、更改WordPress地址和首页地址

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

4、更改文章的GUID

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

5、更改正文中的链接地址

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

6、更新文章的Meta值

UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, 'http://www.旧网址.com', 'http://www.新网址.com')

7、重设Admin密码

UPDATE wp_users
SET user_pass = MD5( 'new_password' )
WHERE user_login = 'admin'

8、重设Admin的用户名

UPDATE wp_users
SET user_login = 'newname'
WHERE user_login = 'admin'

9、将作者A的文章全部转移到作者B

UPDATE wp_posts
SET post_author = 'b'
WHERE post_author = 'a'

10、删除文章的Meta标签

DELETE FROM wp_postmeta
WHERE meta_key = 'your-meta-key'

11、导出所有评论中的邮件地址

SELECT DISTINCT comment_author_email
FROM wp_comments

12、删除所有的Pingback

DELETE FROM wp_comments
WHERE comment_type = 'pingback'

13、删除所有的垃圾评论

DELETE FROM wp_comments
WHERE comment_approved = 'spam'

14、禁用所有激活的插件

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

15、罗列所有未使用的Meta标签

SELECT *
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL

16、关闭旧文章的留言

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

17、更新留言者的网址

UPDATE wp_comments
SET comment_author_url = REPLACE( comment_author_url, 'http://旧网址.com', 'http://新网址.com' )

18、更新正文内所有的’Target=”_blank”‘为’Rel=”Nofollow”‘

UPDATE
wp_posts SET post_content = REPLACE (post_content, 'target="_blank', 'rel="nofollow')

20、删除重复的自定义字段(Custom Fields)

delete from wp_postmeta
where meta_id in (
select *
from (
select meta_id
from wp_postmeta a
where a.meta_key = 'views'
and meta_id not in (
select min(meta_id)
from wp_postmeta b
where b.post_id = a.post_id
and b.meta_key = 'views'
)
) as x
);

暂时就这么多了,以后若是有新的再继续整理吧!

注意:陈德馨文章中贴的sql语句默认是以wp_开头,如果你的WordPress数据库也是WP_开头的那么不需要做任何修改直接执行即可。若不是则修改为你自己的。

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。