sqlite 简单记录
最近在做一个大文件去重的需求,最开始想到的就是直接扔数据库,通过distinct 查询去重 ,但是对应工程中又没有数据库,就在想放弃这个思路的时候,同事推荐了sqlite数据库,首次接触sqlite,感觉像是直接在操作文件,不需要额外的建数据库那些操作。
记录一下:
首先下载sqlite3.exe(总共也就几十K);
cmd 命令进入到对应目录,运行命令
sqlite3 test.db ---如果存在对应db文件,可以这样打开,进入sqlite3 之后各种基础的sql语句基本上都支持
create table t_test (value varchar); ---此时如果之前并没有创建过test.db,会创建test.db文件
==================文件数据导入表
.separator "分隔符" ---默认字段间的分割符为 | ,使用separator可以改变分隔符,可以为字符串
.import 文件名 表名 -----导入文件数据到表中
==================表数据导出到文件
.output 文件名
select * from 表名;
.output stdout
=================读取脚本文件批量执行脚本
.read 脚本文件名
======================简单应用 --Java 大文件去重
1,创建脚本文件,写入建表语句,文件数据导入表的脚本;
2,java执行cmd命令 来用sqlite3 执行上面的脚本
3,创建导出的脚本文件;
4,java执行cmd命令 来用sqlite3 执行导出脚本文件 (性能上的话并不是很好,1.5个G的文件 ,我本地使用此方法大概花了18分钟)