添加事务处理,把5000条插入作为一个事务
dataBase.beginTransaction() //手动设置开始事务
//数据插入 *** 作循环
dataBase.setTransactionSuccessful() //设置事务处理成功,不设置会自动回滚不提交
dataBase.endTransaction() //处理完成
将数据库「倒出来」:
sqlite3 film.db ".dump" >output.sql
利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库
备份了):
sqlite3 film.db <output.sql
在大量插入资料时,你可能会需要先打这个指令:
begin
插入完资料后要记得打这个指令,资料才会写进数据库中:
commit
insert一般是用来给表插入一条指定的列值的,但是,insert还存在另一种形式,可以利用它将一条select语句的结果插入表中。
这就是所谓的insert select,顾名思义,它是由一条insert语句和一条select语句组成的。假如你从另一张表中合并客户列表到你的Custumers表,不需要每次读取一行,然后再将它用insert插入,可以如下进行:
insert into Custumer(cust_id,
cust_cintact,
cust_name,
cust_email,
cust_address,
cust_country)
select cust_id,
cust_cintact,
cust_name,
cust_email,
cust_address,
cust_country
from CustNew
扩展资料
insert select中的列名为简单起见,这个例子在insert和select语句中使用了相同的列名,但是,不一定要求列名匹配。事实上,DBMS甚至不关心select返回的列名,它使用的是列的位置。
因此,select中的第一列(不管其列名)将用来填充表列中的指定的第一个列,第二列将用来填充表列中指定的第二个列,如此等等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)