1. 如何批处理命令替换sql文件的某字段
如果是在windows系统中
打开该sql文件 ,CTRL+H打开查找替换功能,输入你要查找和所要替换的内容,全部替换即可
如果是在linux/unix系统中
则需要用字符管理命令sed来批量替换
举个栗子:
现在在abc.sql文件中有这样一段内容 linux:this is linux
sed -n s/linux/windows/p abc.sql 这条命令会将该行的第一个linux替换为windows
开头s的作用是只替换该行第一个内容 结尾p的作用是显示结果
执行结果 windows:this is linux
sed -n s/linux/windows/gp abc.sql 这条命令会将该行所有的linux替换为windows
结尾g的作用是行内全面替换
执行结果 windows:this is windows
其中-n选项是只显示sed更改的内容。不加则会替换前的内容和替换后的内容一起显示
sed的其他参数和选项 可以通过‘man sed’命令来了解
2. Sql批量查询并修改
update tablename set specialName = replace(specialName,'频道','xx') where specialName like '%频道';
3. 怎么批量替换sql某字段中的数据
方法一:
varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。
1
update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')
方法二:
1
update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')
4. 怎么批量替换SQL关键字
update m_data set m_playdata=replace(m_playdata,'[免费软件]','免费共享软件')
5. 如何批量执行sql查找替换
在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命令的用法
6. sql 将某列字段的值批量替换或修改
UPDATE dogmall(表结构) SET pathimg (字段名) = replace( pathimg (字段名),'_.webp', '')
ps: 注意,在测试的时候,请在 update 语句末尾加上 where xxx = xx 条件对某条数据 进行单独测试,避免全部内容修改了,但不如意,造成不可挽回的后果。
当我爬去了网络图片路径后,得到的后缀名是 '.webp'。这格式
我需要统一删除或者替换为 .jpg 才能正常访问
利用上边的语句,能全部替换。
7. SQL将查询结果中的值批量替换为其它值
mysql的话:
update表1a,表2b,表2cseta.BatchID=b.name,a.PlanNature=c.namewherea.BatchID=b.BatchIDanda.PlanNature=c.BatchID
你第二个表没给字段名,第三列我这边定义为BatchID,第四列定义为name。
执行前备份表1
8. sql中如何批量替换字段里的字符串
update
[表名]
set
[字段名]=stuff([字段名],charindex('aaaa',[字段名],0),charindex('bbb',[字段名],0)-charindex('aaaa',[字段名],0)-4+7,'A'),
where
[字段名]
like
'%aaaa%bbb%'
就是用charindex取得'aaaa','bbb'的位置,计算需要替换字符串的长度,然后用stuff函数替换.