批量写入数据库
如果是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)
......