當前位置:首頁 » 編程語言 » 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')