kettle连接sqlite
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。关系型数据库。和其他数据库不同的是SQLite存储数据时不区分类型
- SQLite是一款轻型的嵌入式数据库
- 它占用资源非常的低,在嵌入式设备中,可能只需要 几百K的内存就够了
- 它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快
kettle连接sqlite
sqlite免费版的是没有用户名和密码的。kettle的lib库已经自带了sqlite的驱动jar包。
主机名称:jdbc:sqlite:c:/user/asus/test.db
数据库名称:c:/user/asus/test.db
(根据具体情况修改即可)
其他操作跟其他数据库操作一致。
sqlite使用过程中存在的一些问题:
1、 数据库中存在记录,但查询不到。(对应字符串存在空格)
2、当前时间与系统时间不一致。(时区问题)
3、kettle主键
主键自增长:SQLite是autoincrement,MySql是auto_increment
主键: SQLite主键一般定义为_id,在做查询时要求主键列名必须是_id(本身不是_id,可以起别名),不然拿不到主键值。且只能定义为Integer类型。
-
您需要下载 sqlite-tools-win32-*.zip 和 sqlite-dll-win32-*.zip 压缩文件。(若需要安装64 需要下载 sqlite-tools-win32-*.zip和 sqlite-dll-win32-*.zip压缩文件)
-
创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。
-
添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,将显示如下结果。
sqlite命令:
上面的命令会显示各种重要的 SQLite 点命令的列表,如下所示:
命令 | 描述 |
---|---|
.backup ?DB? FILE | 备份 DB 数据库(默认是 "main")到 FILE 文件。 |
.bail ON|OFF | 发生错误后停止。默认为 OFF。 |
.databases | 列出数据库的名称及其所依附的文件。 |
.dump ?TABLE? | 以 SQL 文本格式转储数据库。如果指定了 TABLE 表,则只转储匹配 LIKE 模式的 TABLE 表。 |
.echo ON|OFF | 开启或关闭 echo 命令。 |
.exit | 退出 SQLite 提示符。 |
.explain ON|OFF | 开启或关闭适合于 EXPLAIN 的输出模式。如果没有带参数,则为 EXPLAIN on,即开启 EXPLAIN。 |
.header(s) ON|OFF | 开启或关闭头部显示。 |
.help | 显示消息。 |
.import FILE TABLE | 导入来自 FILE 文件的数据到 TABLE 表中。 |
.indices ?TABLE? | 显示所有索引的名称。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表的索引。 |
.load FILE ?ENTRY? | 加载一个扩展库。 |
.log FILE|off | 开启或关闭日志。FILE 文件可以是 stderr(标准错误)/stdout(标准输出)。 |
.mode MODE | 设置输出模式,MODE 可以是下列之一:
|
.nullvalue STRING | 在 NULL 值的地方输出 STRING 字符串。 |
.output FILENAME | 发送输出到 FILENAME 文件。 |
.output stdout | 发送输出到屏幕。 |
.print STRING... | 逐字地输出 STRING 字符串。 |
.prompt MAIN CONTINUE | 替换标准提示符。 |
.quit | 退出 SQLite 提示符。 |
.read FILENAME | 执行 FILENAME 文件中的 SQL。 |
.schema ?TABLE? | 显示 CREATE 语句。如果指定了 TABLE 表,则只显示匹配 LIKE 模式的 TABLE 表。 |
.separator STRING | 改变输出模式和 .import 所使用的分隔符。 |
.show | 显示各种设置的当前值。 |
.stats ON|OFF | 开启或关闭统计。 |
.tables ?PATTERN? | 列出匹配 LIKE 模式的表的名称。 |
.timeout MS | 尝试打开锁定的表 MS 毫秒。 |
.width NUM NUM | 为 "column" 模式设置列宽度。 |
.timer ON|OFF | 开启或关闭 CPU 定时器。 |
sqlite常用命令:
sqlite3 xxx.db --打开数据库 .show .header on .mode column .timer on .databases
创建数据库 sqlite3 DatabaseName.db
查看表结构 .schema 表名
查看当前数据库具有哪些表: .tables
参考:sqlite菜鸟教程