SQLite实用武器库(2)利用import命令导入导出数据到CSV文件
2017-05-19 18:30
836 查看
(1)什么是csv文件?
CSV,即Comma-Separated Values,意思是逗号分隔值,或字符分隔值。.csv文件是一种将表数据借助字符分隔的方式存储成文本的文件格式。譬如,可以在excel中另存为csv文件。我们先来试一个,创建一个excel文件,内容如下:A | B | C |
---|---|---|
0 | name0 | des0 |
1 | name1 | des1 |
2 | name2 | des2 |
0|name0|des0
1|name1|des1
2|name2|des2
(2)如何将SQLite数据库表导出到csv文件?
先用show命令看一下当前SQLite用户shell中的设置,其中包含分隔符:sqlite> .show echo: off eqp: off explain: off headers: off mode: list nullvalue: "" output: stdout colseparator: "|" rowseparator: "\n" stats: off width:
看到分隔符为“|”。可以使用separator命令来指定分隔符:
sqlite> .separator , sqlite> .separator | sqlite>
导出到csv的原理很简单,将SQLite输出重定向到.csv文件,然后执行select。同样,使用ouput命令,无需手动创建输出的文件,直接输入文件名作为output命令参数即可:
sqlite> select * from test_table; 0|name0|des0 1|name1|des1 2|name2|des2 sqlite> sqlite> .output test_csv.csv sqlite> select * from test_table; sqlite> .output stdout
好,查看test_csv.csv文件内容:
0|name0|des0
1|name1|des1
2|name2|des2
因为这种方式其实只是重定向了输出,执行的是SQL,所以可以满足各种数据组合、筛选等需求。