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菜鳥教程