Sqlite数据库导入导出与备份恢复

来源:互联网 发布:网络管理通知 编辑:程序博客网 时间:2024/05/17 08:51

(1)数据导入

    建立了Sqlite数据库后就要建立表输入数据了,多数时候数据量较大,手动输入不可能,必须用导入语句

    导入逗号分隔csv格式数据

    首先建立一个表,比如test.db中建表test,如果表已经存在,可以利用命令".schema"查看该表结构,比如

    sqlite>.schema test,结果得到test表的结构,因为要导入的数据必须具有相似的结构,所以必须明了目标表的结构。

    create table test (id int primary key,value);

    比如test表具有下面的数据

1|34

2|99

3|990

4|390

 

另一个csv文本文件为 test.csv,内容如下:

5,560

6,78

利用“.import”命令可以导入该数据,在导入数据之前,利用“.separator ''”命令转换sqlite默认分隔符,比如“.separator ,”这一句就将分隔符改变为逗号,与预导入数据一致才能顺利导入,然后键入下面语句

.import test.csv test

这样表test就多了从csv文件导入的两行记录,sqlite最新版本已经默认使用事件,因此海量数据导入也很轻松高效。

同样的方法可以导入txt文本文件。

 

(2)数据导出

.out out.txt

select * from test;

.output stdout

以上三个语句将表test的全部内容查询结果创建并导入了文件out.txt,最后一句是使输出重新定位到屏幕,结束文件导出。

 

(3)备份数据库

 .output [filename] 导出到文件中,如果该文件不存在,则自动创建
    .dump 导出数据命令
    .output stdout 返回输出到屏幕(进行其他操作)

 

(4)导入(恢复)数据库

 sqlite3 test.db < test.sql

这样就将备份数据库导入当前数据库了。