WordPress数据库批量添加、修改、删除的sql命令

WordPress数据库批量添加、修改、删除的sql命令

一般建网站的不可避免都会搬家,那么搬家之后文章中的很多的链接什么的都需要更改,你文章少了就算了,一个一个改吧,呢成千的文章你怎么让我一个一个的改,开玩笑,所以我们可以通过数据库来进行批量更改操作。

在修改前请备份好数据库,以防数据丢失,WordPress数据库默认表前缀是wp_,所以这个表前缀根据自己情况修改。

批量删除包含某个自定义字段指定内容的文章

DELETE `wp_posts` FROM `wp_posts`,`wp_postmeta` WHERE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = '自定义字段_value' AND wp_postmeta.meta_value LIKE '%指定内容%'

批量追加新的自定义字段和值

insert into wp_postmeta (post_id, meta_key, meta_value)select ID, '新自定义字段', '自定义字段值' from wp_posts where post_type = 'post';

删除自定义字段

DELETE FROM wp_postmeta WHERE meta_key = "自定义字段名称";

批量修改文章内容

UPDATE wp_posts SET post_content = REPLACE( post_content,'旧内容','新内容');

一般这个用的比较多,但是需要注意的是,不能替换特殊字符,比方说",<,>,”,;等,这些都有特殊含义,问什么会产生这特殊字符呢,就是随意更换代码高亮插件和主题,在编辑WordPress文章的时候可视化和代码编辑来回换,需要注意,目前我还没有解决办法。

文章内容在数据库中是以HTML代码形式存储的,所以以上SQL语句同样可以替换HTML代码。如果你只是想更改文章插图的链接,而不想影响其他的链接,可以使用以下SQL语句

UPDATE wp_posts SET post_content = REPLACE (post_content,'src="旧地址','src="新地址');

如果你是以图片附件形式上传的话,需要更改图片附件的GUID

UPDATE wp_postsSET guid = REPLACE (guid,'zhanu.net', 'wanghi.cn') WHERE post_type = 'attachment';

删除所有文章的修订版

在通常情况下,文章的修订版对大多数人来说没多大意义,而且修订版的数量会随着你修改文章的次数不断增长,这会增加数据库的查询速度,这并不是什么好事。互联网上有很多教你如何禁止修订版的文章,还有很多插件可以删除文章修订版,你可以自己搜索看看。这里教你如何使用SQL语句,删除所有已产生的文章修订版数据:

DELETE a,b,cFROM wp_posts aLEFT 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';
分享到 :

发表评论

登录... 后才能评论