SQLite 3导入导出成txt或csv操作

平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库,可以在网上下到。
进入管理:
sqlite3.exe d:\\test.db //假设数据是 d:\\test.db
>.databases //显示所有数据库 和 mysql的 show databases; 
>.tables //显示当前数据库的表格 和 mysql 的show tables; 
>.schment tablename; //显示表格结构 和mysql的 SHOW CREATE TABLE tbl_name
>.output c:\\\\1.sql //导出当前数据库的 sql语句 和mysql的 mysqldump
>.dump
>.import c:\\\\1.sql //导入 //mysql 用source
===================
导入
命令: .import
sqlite> .import 文件名 表名
注1: 不要忘了开头的点
注2: 这条语句不能用分号结束. 非SQL不需要分号结束.
注3: 需要查看默认的分隔符separator. 必须一致. 如果不一致可能导致sqlite字段分割错误.
查看分隔符使用命令 .show , 如果不一致可直接修改, 比如:
sqlite>.separator ","
将分隔符转为逗号.
举例1:
将文件a.txt中的数据导入表 tab_xx. (a.csv中字段以逗号分割)
sqlite> .separator ","
sqlite> .import a.txt tab_xx
sqlite>
导入结束.

导出
实现方式: 将输出重定向至文件.
命令: .output
sqlite> .output a.txt
然后输入sql语句, 查询出要导的数据. 查询后,数据不会显示在屏幕上,而直接写入文件.
结束后,输入
sqlite> .output stdout
将输出重定向至屏幕.
举例2:
将 tab_xx 中的数据导出到文件a.txt
sqlite> .output a.txt
sqlite> select * from tab_xx;
sqlite> .output stdout
导出完毕.

如需导成csv格式,直接将文件a.txt换成a.csv即可


Sqlite数据库导入导出与备份恢复作者:春儿
(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
这样就将备份数据库导入当前数据库了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值