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

数据库中有大量不同URL地址替换成相对应的地址比如地址A替换成地址B地址C替换成地址D......要大量替换我有个对应的替换文本A对应BC对D......如何执行... 数据库中 有大量不同URL地址 替换成相对应的地址
比如 地址A 替换成 地址B
地址C 替换成 地址D
......要大量替换
我有个对应的替换文本 A 对应B C对D ......
如何执行
展开
 我来答
匿名用户
2020-05-02
展开全部
在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之前加分号或者一个一个执行。
匿名用户
2020-05-02
展开全部
select *,replace(A列名,'地址A','地址B') AS rep from 你的表名
追问
太谢谢了 解决了
UPDATE `表名` SET `列名` = replace (`post_content`,'要替换的内容','替换成的内容')
把A地址 B地址 大量对应地址 用EXCEL 生成上面格式 复制到文本 改成.SQL格式
上传批量执行
谢谢提醒要加;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式