WordPress 数据库常用 SQL 语句命令

WordPress 数据库存储了站点所有信息,数据库对站点来说至关重要,一般情况下不要折腾数据库。但是很多情况下,使用 SQL 语句批量修改站点内容,大大提高效率。下面 SQL 语句均收集自网络,操作需谨慎。所有的SQL语句都是假定你的数据库的前缀是“wp_” ,如果你使用不同的表前缀,请自行修改。

温馨提示:SQL 操作修改数据库有风险,在进行任何更改之前,请务必先备份数据库。这样即使修改错了,你仍然能够快速恢复数据。

1.更改文章内容、评论内容中的 URL

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

[box style=”red”]UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.旧网址.com’, ‘http://www.新网址.com’); [/box]

[box style=”red”]UPDATE wp_comments SET comment_content = REPLACE (comment_content, ‘http://www.旧网址.com’, ‘http://www.新网址.com’);[/box]

2.修改评论者信息

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

[box style=”red”]UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, ‘旧网址.com’, ‘新网址.com’ );[/box]

[box style=”red”]UPDATE wp_comments SET comment_author_email = REPLACE( comment_author_email, ‘旧email’, ‘新email’ );[/box]

[box style=”red”]UPDATE wp_comments SET comment_author = replace(comment_author, ‘旧名称’,’新名称’);[/box]

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

默认状态下,当您编辑在WordPress的文章,会有很多修改副本被保存。随着时间的推移,wordpress数据库将越来越多垃圾,越来越累赘。
[box style=”red”]DELETE FROM wp_postmeta WHERE meta_key in (‘_edit_lock’, ‘_edit_last’, ‘_wp_old_slug’, ‘_revision-control’, ‘{{unknown}}’, ‘_wp_attached_file’, ‘_wp_attachment_metadata’);[/box]
[box style=”red”]DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);[/box]

4.替换评论者的敏感词汇

[box style=”red”]UPDATE wp_comments SET comment_content = REPLACE( comment_content, ‘fuck’, ‘**’ ); [/box]

5.删除所有垃圾评论
[box style=”red”]DELETE FROM wp_comments WHERE comment_type = ‘trash’;[/box]

6.删除所有待审评论

[box style=”red”]DELETE FROM wp_comments WHERE comment_approved = ‘0’;[/box]

7.批量移动页面/文章评论

[box style=”red”]update wp_comments set comment_post_ID = 36 where comment_post_ID = 129[/box]

将 ID = 129 页面/文章的所有评论移动到 ID = 36 的页面/文章下。

8.手动重设用户密码为:PASSWORD

[box style=”red”]UPDATE wp_users SET user_pass = MD5(‘PASSWORD’) WHERE wp_users.user_login =’用户名’ LIMIT 1; [/box]

9.WordPress 更改域名相关 SQL

[box style=”red”]UPDATE wp_options SET option_value = replace(option_value, ‘http://www.旧网址.com’, ‘http://www.新网址.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’ ; [/box]
[box style=”red”]UPDATE wp_posts SET guid = REPLACE (guid, ‘http://www.旧网址.com’, ‘http://www.新网址.com’) ; [/box]

最后这个命令是替换网站文章中的图片URL地址,当然也适用于更换网站图床使用。
[box style=”red”]UPDATE wp_posts SET post_content = REPLACE (post_content, ‘http://www.旧网址.com’, ‘http://www.新网址.com’) ; [/box]

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

[box style=”red”]UPDATE wp_posts SET comment_status = ‘closed’ WHERE post_date < ‘2009-01-01’ AND post_status = ‘publish’ ;[/box]

12.清理 wp_options 表中 RSS Feed Cache

[box style=”red”]DELETE FROM wp_options WHERE option_name REGEXP “_transient_”[/box]

13.SQL 批量删除 WordPress 自定义栏目
[box style=”red”]DELETE FROM wp_postmeta WHERE meta_key =’自定义栏目名称’;[/box]

14.SQL 批量修改/更新 WordPress 自定义栏目的值

[box style=”red”]UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, ‘旧’, ‘新’) WHERE meta_key=’ooxx’;[/box]

作用:将 ooxx 这个 meta_key 的值 meta_value 中「旧」替换成「新」。

15.SQL 批量修改自定义字段名称

[box style=”red”]UPDATE wp_postmeta SET meta_key=’新的自定义域名称’ WHERE meta_key = ‘旧的自定义域名称’;[/box]

分享至:

刘春晓

春晓网创始人和主编。2011年毕业于河南大学新闻与传播学院,计算机和互联网爱好者。

您可能还喜欢...