如何修改网站内容(本文将教你如何使用SQL语句来操作你的数据库 )

优采云 发布时间: 2021-12-30 09:11

  如何修改网站内容(本文将教你如何使用SQL语句来操作你的数据库

)

  您是否遇到过以下情况:

  所有这些都涉及到一个关键词:批量修改。如果你在WordPress后台手动一一修改文章内容,相信会让你抓狂。对于一些拥有数千篇文章的博客来说,完成任务几乎是不可能的。本文将教你如何使用SQL语句来操作你的数据库,实现数据的批量修改。

  如果你没有学习过数据库相关知识,你当然不知道什么是SQL,但是本文所涉及的内容不需要你了解数据库知识,也不需要你精通SQL语句的编写。您可以直接使用本文。下面我们将分别介绍每条SQL语句的功能。所有语句都使用默认的 wp_ 表前缀。如果您的不是,请自行更改。

  在开始之前,先介绍一下如何执行SQL语句和进行批量操作。现在一般空间都是使用phpmyadmin来管理数据库,这里以phpmyadmin为例介绍如何执行SQL语句:

  1、批量编辑文章内容:

  如果要替换之前写过的所有文章中的部分内容,比如更改博客名称、更改博客网址、更改文章图片链接等,可以使用以下 SQL 语句:

  UPDATE wp_posts

SET post_content = replace( post_content, '爱找主题', '爱找主题网站' );

  这句话的作用是将所有文章中“搜索主题”的词组全部替换为“搜索主题”的网站。您可以根据需要进行一些更改。因为文章内容在数据库中是以HTML代码的形式存储的,所以上面的SQL语句也可以代替HTML代码。

  如果你只是想改变文章插图的链接而不影响其他链接,可以使用下面的SQL语句,把src="全部换成src="

  UPDATE wp_posts

SET post_content =

REPLACE (post_content, 'src="oldurl.com', 'src="newurl.com');

  如果作为图片附件上传,需要更改图片附件的GUID

  UPDATE wp_posts

SET guid = REPLACE (guid, 'oldsiteurl.com', 'newsiteurl.com')

WHERE post_type = 'attachment';

  2、批量编辑文章摘要:

  文章摘要是您在WordPress后台编辑文章时在“摘要”框中输入的内容。如果要批量更改文章摘要,可以使用以下语句:

  UPDATE wp_posts

SET post_excerpt = replace( post_excerpt, '爱找主题', '爱找主题网站' );

  这句话的作用是用主题网站替换文章摘要中的所有单词。

  3、批量编辑文章作者

  假设你的博客有两个注册用户,张三和李四,你想把张三的所有文章都放在李四的名下。这个时候你应该怎么做?您可以执行以下语句:

  UPDATE wp_posts

SET post_author = 李四用户id

WHERE post_author = 张三用户id;

  如何获取李斯的用户id和张三的用户id?您可以执行以下 SQL 语句:

  SELECT ID, user_nicename, display_name FROM wp_users;

  此时,将列出您博客上所有注册用户的 ID、昵称和公开显示的名称。现在可以找到对应用户的ID,如下图,zhangsan的ID为2,lisi的ID为5:

  

  你的 SQL 可以这样写:

  UPDATE wp_posts

SET post_author = 5

WHERE post_author = 2;

  4、文章评论者网址批量修改

  假设您的博客有一位非常忠实的读者,他在您的博客文章上留下了许多有用的评论。同时,他的评论填写在客人网站的网址中,但有一天他的博客域名变了,他在他的消息中要求你更新网站网址,你怎么办?手动帮他一一改,不太现实。您可以使用以下 SQL 语句:

  UPDATE wp_comments

SET comment_author_url =

REPLACE( comment_author_url, 'oldurl.com', 'newurl.com' )

  上面这句话会把评论者的旧网站链接全部改成新网站

  5、关闭所有文章的pingback功能:

  启用pingback功能可以在有人引用您的文章链接时向您发送通知,但此功能似乎对我们的文章没有太大帮助,那么为什么不禁用pingback呢?在WordPress后台-设置-讨论中,取消选中“从外部博客接收报价(pingbacks和trackbacks)”,这样以后的文章就不会启用pingback,但是这个选项对以前发表的文章不起作用。还是需要用到SQL:

  UPDATE wp_posts

SET ping_status = 'closed';

  6、删除文章的所有修改:

  一般情况下,文章的修改版对大多数人来说没有多大意义,修改的次数会随着修改文章的次数而不断增加,这会提高数据库的查询速度,也就是不是什么好事。网上有很多教你如何禁止修改的文章,也有很多删除文章修改的插件。你可以自己搜索一下。这里教大家如何使用SQL语句删除已经生成的文章的所有修订数据:

  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';

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线