細水長流

WordPress 数据库操作常用 SQL 语句

WordPress 数据库存储了文章、页面博客站点设置等所有信息,数据库很重要,一般情况下不要折腾数据库。但是很多情况下,使用 SQL 语句批量修改站点内容更方便。(温馨提示,操作前请先备份数据库)

「WordPress 数据库操作常用 SQL 语句:https://uxtt.com/34」

WordPress 使用 SQL 语句操作数据库前切记先备份!

下面 SQL 语句均收集自网络,操作需谨慎。以下示例 SQL 语句假定 WordPress 数据库前缀是 wp_,若使用了不同的数据库表前缀,请根据实际修改修改。

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

「WordPress 数据库操作常用 SQL 语句:https://uxtt.com/34」

配合 phpMyAdmin 可视化界面操作更方便,编写好 SQL 语句可先「模拟查询」测试一下,再执行修改,当然也可以 ssh 登陆 vps,进入 mysql 控制台执行命令。

SQL 批量更改替换 WordPress 文章内容、评论内容

使用 SQL 可以快速批量替换 WordPress 文章/评论内容,如 WordPress 更改域名需要批量修改博客名称、网址、文章配图 URL 等。

「WordPress 数据库操作常用 SQL 语句:https://uxtt.com/34」
UPDATE wp_posts SET post_content = REPLACE (post_content, '旧内容', '新内容');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, '旧内容', '新内容');

SQL 批量更改 WordPress 评论者信息

WordPress 更换域名、更改用户名、又或者需要修改更新网友评论信息。

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

SQL 批量删除 WordPress 所有文章修订版、多媒体文件管理功能等

默认状态下,编辑修改 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);

SQL 批量删除 WordPress 未使用标签

据说标签不宜过多,否则不利于 SEO,可以使用下面 SQL 语句批量清理 WordPress 未使用的标签。

「WordPress 数据库操作常用 SQL 语句:https://uxtt.com/34」
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;

SQL 批量删除/修改 WordPress 评论

SQL 批量删除 WordPress 所有垃圾评论:

DELETE FROM wp_comments  WHERE comment_type = 'trash';

SQL 批量删除 WordPress 所有待审核评论

DELETE FROM wp_comments  WHERE comment_approved = '0';

SQL 批量替换 WordPress 评论中敏感词汇

评论者难免会有敏感词,如果备案了,替换掉更安全。

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

SQL 批量移动 WordPress 页面/文章评论

update wp_comments set comment_post_ID = 36 where comment_post_ID = 129

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

SQL 批量删除 WordPress 所有 Pingback

DELETE FROM wp_comments WHERE comment_type = 'pingback' ;  

SQL 批量关闭 WordPress 旧文章留言

虽然可以在 WordPress 控制面板中设置将 XX 天之后的文章关闭留言功能,但是对于一些旧文章,该功能无法起作用。可以使用 SQL 语句设定 XXXX 之前的文章关闭留言功能。

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

SQL 手动重设 WordPress 用户密码

示例:将 test 用户密码更改为:PASSWORD

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

WordPress 更改域名相关 SQL 语句

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

SQL 清理 wp_options 表中 RSS Feed Cache

DELETE FROM wp_options WHERE option_name REGEXP "_transient_"

SQL 批量修改/删除 WordPress 自定义栏目、自定义字段内容等

折腾 WordPress 博客或多或少会接触到自定义字段,SQL 批量删除或者修改也很方便。

SQL 批量删除 WordPress 自定义栏目

DELETE FROM wp_postmeta WHERE meta_key ='自定义栏目名称';

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

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, '旧', '新') WHERE meta_key='ooxx';

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

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

UPDATE wp_postmeta SET meta_key='新自定义段名称' WHERE meta_key = '旧自定义段名称';

不定期更新。

退出移动版