如何批量执行sql查找替换?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何批量执行sql查找替换?相关的知识,希望对你有一定的参考价值。

数据库中 有大量不同URL地址 替换成相对应的地址
比如 地址A 替换成 地址B
地址C 替换成 地址D
......要大量替换
我有个对应的替换文本 A 对应B C对D ......
如何执行

在Linux里面,有一个比较好的工具sed,sed -i "s#A#B#g" filename,比如:sed -i "s#linux#windows#g" a.txt,这样可以把a.txt文件中所有的linux替换成windows,“#”可以换成其他的字符,可以根据实际情况来定。如果替换的内容来自文件,可以用脚本遍历文件的方式实现。例如:
旧地址文件:A.txt,需要处理的sql文件:mysql.sql,替换后的新内容:newtext

#/bin/bash
for line in `cat .A.txt`;
do
sed -i "s#$line#newtext#g" mysql.sql
done

当然,也可以指定替换行的范围(例如50行到100行),具体的请参考linux下sed命令的用法追问

我对Linux的命令不懂啊

LINNX服务器用了宝塔+PHPMYADMIN

还有其他简单办法吗  

我用个文本生成两行SQL查询替换语句

上传执行,就提示不能重复执行查询替换

可否批量执行 查询 替换

能不能按这个思路解决下

追答

你这个问题应该是第一个update语句没有使用结束符,两个update语句被当作一行了。在第二个update之前加分号或者一个一个执行。

参考技术A select *,replace(A列名,'地址A','地址B') AS rep from 你的表名追问

太谢谢了 解决了
UPDATE `表名` SET `列名` = replace (`post_content`,'要替换的内容','替换成的内容')
把A地址 B地址 大量对应地址 用EXCEL 生成上面格式 复制到文本 改成.SQL格式
上传批量执行
谢谢提醒要加;

本回答被提问者采纳

Linux批量查找与替换

 

Linux批量查找并替换文件夹下所有文件的内容

 

经常要使用到 Linux的批量查找与替换,这里为大家介绍使用 sed 命令和 grep 命令的结合来实现查找文件中的内容并替换。

 

语法格式:

sed -i "s/原字符串/新字符串/g" `grep -rl 原字符串 所在目录`

  

实例:

1.实现批量查找当前目录下包含 baidu 字符串的所有文件,例如:

grep -rn "baidu" ./

  

2.实现批量查找并替换当前文件夹下的包含 baidu.com 字符串的所有文件,并将其替换成 qq.com。

sed -i "s/baidu.com/qq.com/g" `grep -rl "baidu.com" ./`

  

3.实现批量查找并替换/data文件夹下的包含 baidu.com 字符串的所有文件,并将其替换成 qq.com。

sed -i "s/baidu.com/qq.com/g" `grep -rl "baidu.com" /data/`


使用命令时注意命令与参数之间空格的存在!

 

4.更复杂的实例,批量替换网址 https://www.baidu.com 为 https://www.qq.com/hb

sed -i "s/https:\/\/www.baidu.com/https:\/\/www.qq.com\/hb/g" `grep -rl "https:\/\/www.baidu.com" ./`

  

 

以上是关于如何批量执行sql查找替换?的主要内容,如果未能解决你的问题,请参考以下文章

批量替换多个文件里边的字符串

python列表,如何批量查找替换

Dreamweaver如何批量替换网络图片地址

低代码是如何实现批量查找替换的

如何用Python来进行查询和替换一个文本字符串

Linux批量查找与替换