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');
以wellcms为例替换内容中的多余br标签(加粗字符为您需酌情修改的内容):
update `well_website_data` set `message` = replace(message, '<p><br>', '<p>');
小技巧:命令中`wp_posts`中两侧的` 引号,可要也可不要。但命令中要注意各引号的区别。
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 '%\\\\\\\"%'
如上命令,即可模糊查询到\"了,剩下自己悟吧
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等):等您坐沙发呢!