随心 Hi

Feed Rss

记录一些WordPress中非常实用的SQL语句

11.19.2015, Hi网络, by .

本身就不是学编程的,本人专业跟计算机一点关系没有,所以一直是在摸索着改网站,代码一窍不通,只能跟前辈们学习,记录中……

折腾WordPress怎能对Sql语句不熟悉呢?

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

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

记录WordPress中非常实用的Sql语句

再次说明一下,数据库操作有风险,在执行sql语句之前一定要备份好WordPress数据库。

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

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'

重设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

);

发表评论

电子邮件地址不会被公开。 必填项已用*标注