> 做站经验技巧 > MySQL批量替换部分文本命令 (同样适用MSSQL和access等)

MySQL批量替换部分文本命令 (同样适用MSSQL和access等)

MySQL批量替换文本,例如将字段中的http替换为https


update `表名` set `字段` = replace(字段, 'http', 'https');


 

WordPress数据库替换举例:

如上图,以常见的wordpress为例,替换文章内容中的http为https

update `wp_posts` set `post_content` = replace(post_content, 'http', 'https');

 

小技巧:命令中`wp_posts`中两侧的` 引号,可要也可不要。但命令中要注意各引号的区别。

 

MySQL批量替换部分文本命令 (同样适用MSSQL和access等)

update替换的知识点:

update `wp_posts` set `post_content` = replace(post_content, '\\\'', '\'')

如上所示,是针对发布到wp中的【'】被自动转义成【\'】。这时针对数据库替换,需要将替换内容进行转义才可以,如上所示。


以下案例仅供参考,也许一辈子不用都没任何问题,也许会经常用到。

一、搬迁、改版等常用到的命令

1、替换网址

update `wp_posts` set `post_content` = replace(post_content, 'm.51shengka.com', 'www.51shengka.com');

2、替换发布作者的个人网址

update `wp_users` set `user_url` = replace(user_url, 'm.mkfeng.com', 'www.mkfeng.com');

当你用m这个二级域名建站,会在数据库中有残留,可以手工处理。不处理也几乎发现不了问题。

二、文章ID序列号初始化

为了更好看,各种原因,文章ID要从1开始,就这么简单。

TRUNCATE TABLE wp_posts

如上所示,wp_postmeta为要初始化序列id的表。例如wp_posts是wordpress文章序列号的表。

 


有意思的冷知识,高手入门必备基本功

mysql中替换\转义符和"等特殊符号,该如何处理呢?

1、例如文章包含了\",双引号带了转义斜杠。这时候我们需要把转义斜杠去掉,需要结果为"

update `wp_posts` set `post_content` = replace(post_content, '\\\"', '\"')

2、以下一行命令则是常用的删除文中转义符【\的符

update `wp_posts` set `post_content` = replace(post_content, '\\''')

 

 

如上命令,即可处理掉转义符了。真正有意思的是,如果要模糊查询\",就不那么简单了

SELECT * FROM `wp_posts` WHERE `post_content` LIKE '%\\\\\\\"%'

如上命令,即可模糊查询到\"了,剩下自己悟吧


MySQL批量替换部分文本命令 (同样适用MSSQL和access等)

 

WP数据清理-删除内容为空的文章

SELECT * FROM `wp_posts` WHERE `post_title` like '% -';
SELECT * FROM `wp_posts` WHERE `post_content` NOT LIKE '%正常内容%' and `post_type`= 'post'

如上仅展示选择命令,可自行修改为删除命令。

第一行可以根据标题来判断需要删除的内容;第二行可以根据内容判断不含关键文字的内容。活学活用。

MySQL批量替换部分文本命令 (同样适用MSSQL和access等):等您坐沙发呢!

发表评论

表情
还能输入210个字