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

如何批量执行sql查找替换?,第1张

在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命令的用法

直接执行一下语句,即可批量替换数据库中的内容

Update 表名 SET 字段名=replace(字段名,"e.16sucai.com","d.16sucai.com")

其中e.16suai.com 为原数据库内容,d.16sucai.com为新内容,即替换后的内容。

UPDATE dogmall(表结构) SET pathimg (字段名) = replace( pathimg (字段名),'_.webp', '')

ps: 注意,在测试的时候,请在 update 语句末尾加上 where xxx = xx 条件对某条数据 进行单独测试,避免全部内容修改了,但不如意,造成不可挽回的后果。

当我爬去了网络图片路径后,得到的后缀名是 '.webp'。这格式

我需要统一删除或者替换为 .jpg 才能正常访问

利用上边的语句,能全部替换。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6425366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存