> 做站经验技巧 > 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中替换\和"等转义符,该如何处理呢?

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

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

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

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

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


 

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

发表评论

表情
还能输入210个字