生成测试数据的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
1、创建测试表,create table test_batch(id number, v_date date)
2、先看插入原始表数据select t.*, rowid from test_day t
3、批量插入测试数据,insert into test_batch select * from test_daycommit
4、查询表的记录,select t.*, rowid from test_batch t可以发现数据一致。批量添加数据完成。
解决方法:添加事务处理,把5000条插入作为一个事务
dataBase.beginTransaction() //手动设置开始事务
//数据插入 *** 作循环
dataBase.setTransactionSuccessful() //设置事务处理成功,不设置会自动回滚不提交
dataBase.endTransaction() //处理完成
将数据库「倒出来」:
sqlite3 film.db ".dump" >output.sql
利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库
备份了):
sqlite3 film.db <output.sql
在大量插入资料时,你可能会需要先打这个指令:
begin
插入完资料后要记得打这个指令,资料才会写进数据库中:
commit
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)