日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql批量加逗号_批量插入数据到数据库的方式

發布時間:2025/3/15 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql批量加逗号_批量插入数据到数据库的方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

出于性能的考慮。用Insert語句一條一條的插入大量數據到數據庫肯定不是最好的選擇。指不定還會把數據庫搞死了。

前幾天,用戶提了需求,要求寫Job實現,每天清空一個Table,然后將新發過來的數據Insert到數據庫中。想著一條條Insert有點遜。于是就去查了批量插入數據的方法。看到可以用OracleBuckCopy進行批量操作(一臉驚喜), 但是我想要清空表成功之后,就執行批量插入數據,如果都成功就commit,否則就rollback. 然后我就死在了這,因為OracleBuckCopy中的writeToServer不能和清空數據庫共享一個Transaction. 必須是單獨的Transaction.?那要是我清空了數據庫,然后還插入失敗了,空空如也的數據庫豈不是會讓我死的很難看。。

So,我就想,反正數據量不是那么大。那我就Low一點算了,一條一條Insert得了,反正沒人看得見(手上的系統不止一個,事情還一起來,在忙忙人海中迷茫)。噠噠噠,屁顛顛的去改了代碼,三下五除二,搞定(簡直不要太高興),帥不過三秒。發現當數據超過296條,就會死翹翹啦,一直說達到了游標最大數(ORA-01000?什么鬼?游標?)。我沒用游標啊,就一個Delete和N個Insert語句啊?(一臉狗帶像)。。網上一搜,說什么數據庫默認游標300,可能系統占幾個,所以就只能插入296條數據。不知是個啥么子原理。要去改游標數,改成多少呢?數據量不定啊,萬一以后外部系統的數據過大,我設置的游標豈不是不夠用?

What?

who am I?

where am I?

what is the purpose?

發現自己越走越遠,于是準備洗心革面,從頭來過。

OK,在一個事務中,實現清空表,然后批量插入數據。

鑒于自己不能徒手寫1000行代碼(活該單身),于是在網上搜搜搜,終于,讓我看到了一個讓我心動的代碼。借鑒部分代碼,測試后,性能幫幫噠。自己的功能也實現了。

So, 小小記錄一下,萬一以后就又有用了呢。

一,使用參數數組的方式,批量Insert數據 ,速度快,但是代碼中定義參數稍顯麻煩。同時,要么全部成功Insert數據庫,如果失敗全部都Insert失敗。

我在代碼中使用這種方法,是因為要做到,清空表和Insert成功都成功,則Commit,否則,回滾所有的操作。

A part of my code, just as a conference.

//設置一個連接字符串,最好放到Config文件中,以便在不懂環境中測試的時候好修改;//

OracleConnection conn= newOraceConnection(connectStr);

OracleCommand commad= newOracleCommand();//這個參數需要指定每次批量Insert的記錄數

command.ArraryBindCount =recordsCount;//在這個SQL語句中,用到了參數,參數我們很熟悉,但是這個參數在傳值的時候,用到的是數組,而不是單個的值。

command.CommandText = "insert into student values(:stuId,:stuName,:sex)";

conn.Open();//下面定義幾個數組,分別是三個字段,數組的長度由參數決定

int[] sutId = new int[recordsCount];string[] stuName = new string[recordsCount];string[] sex = new string[recordsCount];//為了傳遞參數,不可避免的要使用參數,下面會連續定義三個參數

OracleParameter stuIdParam = new OracleParameter("stuId",OracleType.Int32);

stuIdParam.Direction=ParameterDirection.Input;

stuIdParam.Value=stuId;

command.Parameters.Add(stuIdParam);

OracleParameter stuNameParam= new OracleParameter("stuName",OracleType.VarChar2);

stuNameParam.Direction=ParameterDirection.Input;

stuNameParam.Value=stuName;

command.Parameters.Add(stuNameParam);

OracleParameter sexParam= new OracleParameter("sex",OracleType.VarChar2);

sexParam.Direction=ParameterDirection.Input;

sexParam.Value=sex;

command.Parameters.Add(sexParam);//在下面的循環中,先把數組定義好,而不是如往常那樣直接生成SQL

for(int i = 0; int

{

stuId[i]= if;

stuName[i]=i.ToString();

sex[i]=i.ToString();

}//這個調用將把參數數組傳入SQL,同時寫入數據庫

command.ExecuteNonQuery();

View Code

二, 用OracleBuckCopy,批量插入數據到數據庫。但是要注意,只能在版本為11及以上數據庫才可以用。如果代碼中和服務器中的Oracle.DataAccess.dll版本不同,可以在配置文件中設置即可。

publicKeyToken= "89B483F429C47342"

culture= "neutral" />

oldVersion= "2.112.1.0"

newVersion= "2.112.1.2"/>

public voidBulkToDB(DataTable dt)

{using (OracleBulkCopy bcp = newOracleBulkCopy(con,OracleBulkCopyOptions.UseInternalTransaction))

{

bcp.BatchSize= 400;

bcp.BulkCopyTimeout= 1000;

bcp.DestinationTableName= "";try{

bcp.WriteToServer(dt);

}catch(Exception ex)

{throw newException(ex.ToString());

}finally{

bcp.Close();

con.Close();

}

}

}

View Code

三。用SQL Loder批量插入數據,感興趣的自己去研究,看到很多人寫過這個,自己動手用用就OK了,可以點擊這里看別人總結的。

小小總結一下,備查。

總結

以上是生活随笔為你收集整理的mysql批量加逗号_批量插入数据到数据库的方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91精品日韩 | 国产一卡二卡在线播放 | 一个综合色 | 91精品一区 | 精品交短篇合集 | 小向美奈子在线观看 | 亚洲制服一区 | 日韩欧美亚洲国产精品字幕久久久 | 最好看的日本字幕mv视频大全 | 免费看裸体网站视频 | 91av视频在线免费观看 | 亚洲国产婷婷 | 夜夜se| 日本美女毛茸茸 | 欧美黄色免费大片 | 欧洲一区二区三区四区 | 男女在楼梯上高潮做啪啪 | 久久婷婷综合色 | 91九色蝌蚪91por成人 | 视频在线观看一区 | 熟女少妇在线视频播放 | 关之琳三级全黄做爰在线观看 | 怡红院成人在线 | 999精品网站| 超碰香蕉 | 日韩av在线一区二区 | 99国产精品久久 | 国产av不卡一区二区 | www.久久精品 | 韩国女主播裸体摇奶 | 91刺激视频 | jizz一区二区 | 九九热九九热 | 欧美又大粗又爽又黄大片视频 | 日韩一区二区三区四区 | 亚洲福利影院 | 国产三级一区二区 | 青青操免费 | 久色成人 | 欧美日韩亚洲国产另类 | 国产超碰人人爽人人做人人爱 | 国产精品1024 | 波多野结衣视频一区二区 | 欧美激情三级 | 美女18网站 | 五月激情五月婷婷 | www.黄色.| 亚洲欧美日韩精品在线观看 | 九九九九精品九九九九 | 不卡的中文字幕 | 成人黄色片免费看 | 国产精品无码在线 | 99久久婷婷国产综合精品电影 | 任你操精品 | 日日躁狠狠躁 | 精品国产乱码久久久久久预案 | 国产一区二区三区在线观看免费 | 日韩中文字幕国产 | 国产天堂av | 国产日韩欧美精品一区二区 | 国产男女无套 | 日本理论片中文字幕 | 丰满熟妇被猛烈进入高清片 | 视频一区二区三区四区五区 | 日日夜夜天天 | 国产精品一二区在线观看 | 在线国产精品视频 | 亚洲一区二区三区四区在线播放 | 成人亚洲网站 | 欧美91视频 | 欧美影院一区 | 天天综合人人 | 在线看av网址 | 亚洲一区二区三区影院 | 久久精品国产亚洲AV成人雅虎 | 性猛交xxxx | 亚洲人成人无码网www国产 | 国产精品8888| www.久久久 | 黑人巨大精品人妻一区二区 | 日本少妇在线观看 | 欧美黄色免费网站 | 日日夜夜精品免费视频 | 国产成人精品久久二区二区 | 国产特级aaaaaa大片 | 免费成人深夜夜国外 | 天天成人 | 国产绿帽一区二区三区 | 免费看国产一级片 | mdyd—856冲田杏梨在线 | 青青青在线视频观看 | 亚洲成年人网 | 天天躁日日躁狠狠躁伊人 | 国产精品美女网站 | 亚洲最黄视频 | 日韩视频网 | www亚洲视频 | 欧美粗又大| 熊出没之冬日乐翻天免费高清观看 |