当前位置:首页 » 编程语言 » sql批量替换数据
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql批量替换数据

发布时间: 2022-11-08 05:33:21

A. sql数据库替换命令

直接执行一下语句,即可批量替换数据库中的内容
Update 表名 SET 字段名=replace(字段名,"e.16sucai.com","d.16sucai.com")
其中e.16suai.com 为原数据库内容,d.16sucai.com为新内容,即替换后的内容。

B. sql批量替换

update tb set score=50 where id1=3
update tb set score=67 where id1=4
update tb set score=38 where id1=5

如果id1的3,4,5是另一个表的值,可以这么写(假设另一个是tb1)

update tb set tb.score=b.score from tb a,tb1 b where a.id1=b.id1

——————————————————————————-——————

那还不如写个小程序。

C. 如何批量执行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命令的用法

D. 如何利用sql语句批量替换数据库内容命令的方法

即可批量替换数据库中的内容
Update 表名 SET 字段名=replace(字段名,'原内容','新内容')

E. SQL批量数据替换或正则表达式


我不知道你用的是什么数据库,下面我给你一个Oracle数据库的替换掉(-N+数字)的例子

update[dbo].[Winit库存]set[商品编号]=REGEXP_REPLACE([商品编号],'-Nd+','')

不同的数据库,用的可以用正则表达式的replace函数不一样

SQL Server中我不知道你那里有没有dbo.RegexReplace函数,是不是还要现建这个替换函数

update[dbo].[Winit库存]set[商品编号]=dbo.RegexReplace([商品编号],'-Nd+','',1)
下面是建立RegexReplace函数的sql语句
--如果存在则删除原有函数
IFOBJECT_ID(N'dbo.RegexReplace')ISNOTNULL
DROPFUNCTIONdbo.RegexReplace
GO
--开始创建正则替换函数
CREATEFUNCTIONdbo.RegexReplace
(
@stringVARCHAR(MAX),--被替换的字符串
@patternVARCHAR(255),--替换模板
@replacestrVARCHAR(255),--替换后的字符串
@IgnoreCaseINT=0--0区分大小写1不区分大小写
)
RETURNSVARCHAR(8000)
AS
BEGIN
DECLARE@objRegexINT,@retstrVARCHAR(8000)
--创建对象
EXECsp_OACreate'VBScript.RegExp',@objRegexOUT
--设置属性
EXECsp_OASetProperty@objRegex,'Pattern',@pattern
EXECsp_OASetProperty@objRegex,'IgnoreCase',@IgnoreCase
EXECsp_OASetProperty@objRegex,'Global',1
--执行
EXECsp_OAMethod@objRegex,'Replace',@retstrOUT,@string,@replacestr
--释放
EXECUTEsp_OADestroy@objRegex
RETURN@retstr
END
GO
--保证正常运行的话,需要将OleAutomationProceres选项置为1
EXECsp_configure'showadvancedoptions',1
RECONFIGUREWITHOVERRIDE
EXECsp_configure'OleAutomationProceres',1
RECONFIGUREWITHOVERRIDE



F. sql数据库怎样用一个数据批量替换另一个数据

update [表名] set [列名]=新数据 where [列名]=旧数据

G. sql怎么批量替换字段里的字符串的

方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。
update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')方法二:
update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')

H. SQL将查询结果中的值批量替换为其它值

mysql的话:

update表1a,表2b,表2cseta.BatchID=b.name,a.PlanNature=c.namewherea.BatchID=b.BatchIDanda.PlanNature=c.BatchID

你第二个表没给字段名,第三列我这边定义为BatchID,第四列定义为name。

执行前备份表1

I. SQL批量查询和替换

1.把新的结果集在xls文件中做好,保存文件.
2.在数据库中新建一个存储新数据并用于替换的表.
用create
table,或者select
into
...where
1<>1克隆.
3.将xls文件数据批量导入数据库新表.
4.用联表更新语句,将新表数据更新到表中.
5.drop
table
语句删除临时用的存储表.
---------
此语句用于mssql批量导入,注意在导入时文件需处于关闭.
例:insert
into
TableName(Column1,Column2,Column3,Column4)
select
Column1,Column2,Column3,Column4
from
OpenDataSource
(
'Microsoft.Jet.OLEDB.4.0',
'Data
Source="Path\FileName.xls";User
ID=Admin;Password=;Extended
properties=Excel
5.0'
)...sheet1$

J. SQL 数据批量替换更新

UPDATEtbSETXH=REPLACE(XH,'','M')