批量寫入資料庫
如果是sql server,用transaction sql寫;
如果是oracle,用pl/sql寫。
這兩種語法都可以寫一些邏輯語句,跟一些高級語言差不多,隨便搜一下就有介紹了。自己學學,不多講了。
用JDBC也可以,不過稍微麻煩點。用上面的方法可以直接在DBMS的客戶端運行,簡單直接。
--------------------------------------------
上面我說的,好像不太適合你這個問題。確實用JDBC(Java語言)或ODBC(C++)寫代碼能實現:循環讀文件裡面的每條數據,生成相應的sql語句,然後調用API寫入資料庫。
還有一個方法就是,用txt或excel保存數據,然後用sql server2000的企業管理器導入txt或excel文檔,你按著向導試試看。
B. oracle資料庫,批量插入數據腳本
批量插入數據腳本
1、第一種批量插入數據腳本,可以基本滿足要求。理解上較為簡單,所以這個最常用。
NEXTVAL和CURRVAL的區別:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出現在一個 SQL 語句中,則序列只增加一次。在這種情況下,每個 sequence.CURRVAL 和 sequence.NEXTVAL 表達式都返回相同的值,不管在語句中sequence.CURRVAL 和 sequence.NEXTVAL 的順序。
執行腳本結果如下:
3、兩個表,同時批量插入數據的腳本
3、
4、 涉及子表時,批量插入數據腳本,
5、 批量修改數據 :
時間取數方式:
一、SYSTIMESTAMP(取當前系統值)
二、SYSDATE(取當前系統值,但只精確到時,分和秒都為0)
三、固定值為:TO_TIMESTAMP (-2-12 15:24:45.703000', 'yyyy-mm-dd hh24:mi:ss.ff6')
把固定的欄位改為變數:
方式一:』||i||』 例:』{「no」:「111』||i||』」}』(此方式)
方式二:concat 例:concat(concat(』{「blNo」:111"』,i),』"}』)
C. 如何將批量的數據存入SQL資料庫中
在一些數據量比較大,而且操作資料庫頻繁的。此時需要將數據表datatable整塊的存入資料庫中。
不多說,直接上代碼:
首先得新建一個資料庫
DataTable
once_rec_date
=
new
DataTable();
這個資料庫得跟目標資料庫的列的位置和大小都得一樣。特別是類型,和位置。
就是列的位置和目標資料庫的位置,順序得
一模一樣。因為都是塊存儲,所以地址什麼的都得一樣,千萬不能少一列,自增列可以空在那邊。
在初始化中初始化該表
once_rec_date.Columns.Add("id", typeof(int));
once_rec_date.Columns.Add("RevData_cmd", typeof(int));
once_rec_date.Columns.Add("Node", typeof(int));
once_rec_date.Columns.Add("Data", typeof(String));
once_rec_date.Columns.Add("Ssingle", typeof(int));
once_rec_date.Columns.Add("IsWiressData", typeof(int));
once_rec_date.Columns.Add("Datatime", typeof(DateTime));
once_rec_date.Columns.Add("Receivetime", typeof(DateTime));
once_rec_date.Columns.Add("IsMatch", typeof(int));
D. 如何在資料庫中批量插入數據
可以使用oracle sql loader批量導入數據:
生成測試數據的EXCEL文件,把EXCEL文件另存為CSV(逗號分隔)(*.csv),控制文件設置為用逗號分隔。
示例:
LOAD DATA
INFILE 『d:\car.csv』
APPEND INTO TABLE t_car_temp
FIELDS TERMINATED BY ","
(phoneno,vip_car)
保存為input.ctl
最後在命令行下輸入:
C:\>sqlldr userid=system/manager
control=input.ctl(在unix環境下亦同)
默認日誌文件名為:input.log
默認壞記錄文件為:input.bad
E. 如何將Excel數據批量導入SQL資料庫
把EXCEL數據導入到SQL資料庫中:
1、在資料庫上點擊右鍵,然後選擇「任務」,選擇「導入數據」,就看到彈出淡入數據的對話框
3、按照操作步驟走下去,最終會生成一個新的表(臨時表B表)。
可以藉助工具,MSSQL表數據導出成Insert語句的工具 即:將查詢出來的這些數據都生成insert into語句。
最終在A表中執行該insert into語句就可以將excel中的數據最終放入資料庫中。
F. 解析txt文件,將文件中明細批量插入mysql資料庫表中,怎麼做
批量寫入,提高效率,最簡單直接的辦法就是:
將
txt文本
作為一個數據源處理,而不是文件讀取,這樣,通過數據源,就可以直接批量讀取為一個recordset,然後,直接寫入資料庫了。
ps:這要求
文本文件格式
非常規律,如果不行,自己嘗試在內存裡面構建recordset吧。
G. SQL資料庫批量添加數據
1、創建測試表,create table test_batch(id number, v_date date);
H. 如何用SQL語句將數據批量插入資料庫
這種情況使用xml來進行批量插入.
1.asp.net頁面上抓取數據,轉換成xml字元串
2.將這個字元串作為參數傳給存儲過程
3.存儲過程里,將這個xml讀取成臨時表
4.整個臨時表插入到目標數據表中,這個過程可以使用sql
server的事務;其實在這里用不用事務問題都不大了,因為存儲過程出錯,數據插不進去的,還會拋出異常到asp.net後台,讓後台進行處理異常.
您用游標或asp.net代碼來循環,速度會比較慢的.
I. SQLSERVER資料庫中批量導入數據的幾種方法
我們通過SQL腳本來插入數據,常見如下四種方式。
方式一:一條一條插入,性能最差,不建議使用。
INSERT INTO Proct(Id,Name,Price) VALUES(newid(),'牛欄1段',160);INSERT INTO Proct(Id,Name,Price) VALUES(newid(),'牛欄2段',260);
......
方式二:insert bulk
語法如下:
方式四:拼接SQL
INSERT INTO Proct(Id,Name,Price) VALUES(newid(),'牛欄1段',160)
,(newid(),'牛欄2段',260)
......