SQLite3介紹
一、SQLite數據庫簡介
SQLite 是一個軟件庫,實現了自給自足的、無服務器的、零配置的、事務性的 SQL 數據庫引擎。SQLite 是在世界上最廣泛部署的 SQL 數據庫引擎。
DDL - 數據定義語言
命令 | 描述 |
---|---|
CREATE | 創建一個新的表,一個表的視圖,或者數據庫中的其他對象。 |
ALTER | 修改數據庫中的某個已有的數據庫對象,比如一個表。 |
DROP | 刪除整個表,或者表的視圖,或者數據庫中的其他對象。 |
DML - 數據操作語言
命令 | 描述 |
---|---|
INSERT | 創建一條記錄。 |
UPDATE | 修改記錄。 |
DELETE | 刪除記錄。 |
DQL - 數據查詢語言
命令 | 描述 |
---|---|
SELECT | 從一個或多個表中檢索某些記錄。 |
在 Windows 上安裝 SQLite
-
請訪問 SQLite 下載頁面,從 Windows 區下載預編譯的二進制文件。
-
您需要下載 sqlite-tools-win32-*.zip 和 sqlite-dll-win32-*.zip 壓縮文件。
-
創建文件夾 C:\sqlite,並在此文件夾下解壓上面兩個壓縮文件,將得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。
-
添加 C:\sqlite 到 PATH 環境變量,最後在命令提示符下,使用 sqlite3 命令。
在 Linux 上安裝 SQLite
目前,幾乎所有版本的 Linux 操作系統都附帶 SQLite。所以,只要使用下面的命令來檢查您的機器上是否已經安裝了 SQLite。
$sqlite3
Ubuntu下:sudo apt-get install sqlite3
使用 SQLite
如需獲取可用的點命令的清單,可以在任何時候輸入 ".help"。例如:
sqlite>.help
上面的命令會顯示各種重要的 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 親和類型(Affinity)及類型名稱
下表列出了當創建 SQLite3 表時可使用的各種數據類型名稱,同時也顯示了相應的親和類型:
數據類型 | 親和類型 |
---|---|
|
INTEGER |
|
TEXT |
|
NONE |
|
REAL |
|
NUMERIC |
Boolean 數據類型
SQLite 沒有單獨的 Boolean 存儲類。相反,布爾值被存儲為整數 0(false)和 1(true)。
Date 與 Time 數據類型
SQLite 沒有一個單獨的用於存儲日期和/或時間的存儲類,但 SQLite 能夠把日期和時間存儲為 TEXT、REAL 或 INTEGER 值。
存儲類 | 日期格式 |
---|---|
TEXT | 格式為 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。 |
REAL | 從公元前 4714 年 11 月 24 日格林尼治時間的正午開始算起的天數。 |
INTEGER | 從 1970-01-01 00:00:00 UTC 算起的秒數。 |
SQLite 創建數據庫
SQLite 的 sqlite3 命令被用來創建新的 SQLite 數據庫。您不需要任何特殊的權限即可創建一個數據。
語法
sqlite3 命令的基本語法如下:
$sqlite3 DatabaseName.db
.dump 命令
您可以在命令提示符中使用 SQLite .dump 點命令來導出完整的數據庫在一個文本文件中,如下所示:
$sqlite3 testDB.db .dump > testDB.sql
上面的命令將轉換整個 testDB.db 數據庫的內容到 SQLite 的語句中,並將其轉儲到 ASCII 文本文件 testDB.sql 中。您可以通過簡單的方式從生成的 testDB.sql 恢復,如下所示:
$sqlite3 testDB.db < testDB.sql
此時的數據庫是空的,一旦數據庫中有表和數據。
SQLite3介紹