
- SQLite 教程
- SQLite - 首頁
- SQLite - 概述
- SQLite - 安裝
- SQLite - 命令
- SQLite - 語法
- SQLite - 資料型別
- SQLite - 建立資料庫
- SQLite - 附加資料庫
- SQLite - 分離資料庫
- SQLite - 建立表
- SQLite - 刪除表
- SQLite - INSERT 查詢
- SQLite - SELECT 查詢
- SQLite - 運算子
- SQLite - 表示式
- SQLite - WHERE 子句
- SQLite - AND & OR 子句
- SQLite - UPDATE 查詢
- SQLite - DELETE 查詢
- SQLite - LIKE 子句
- SQLite - GLOB 子句
- SQLite - LIMIT 子句
- SQLite - ORDER BY 子句
- SQLite - GROUP BY 子句
- SQLite - HAVING 子句
- SQLite - DISTINCT 關鍵字
- 高階 SQLite
- SQLite - PRAGMA
- SQLite - 約束
- SQLite - JOIN
- SQLite - UNION 子句
- SQLite - NULL 值
- SQLite - 別名語法
- SQLite - 觸發器
- SQLite - 索引
- SQLite - INDEXED BY 子句
- SQLite - ALTER 命令
- SQLite - TRUNCATE 命令
- SQLite - 檢視
- SQLite - 事務
- SQLite - 子查詢
- SQLite - AUTOINCREMENT
- SQLite - 注入
- SQLite - EXPLAIN
- SQLite - VACUUM
- SQLite - 日期和時間
- SQLite - 常用函式
- SQLite 資源
- SQLite - 快速指南
- SQLite - 資源
- SQLite - 討論
SQLite - 概述
本章幫助您瞭解什麼是SQLite,它與SQL的不同之處,為什麼需要它以及它處理應用程式資料庫的方式。
SQLite是一個軟體庫,它實現了一個自包含的、無伺服器的、零配置的、事務性SQL資料庫引擎。SQLite是最快發展的資料庫引擎之一,但這指的是流行程度的增長,與其大小無關。SQLite的原始碼屬於公共領域。
什麼是SQLite?
SQLite是一個程序內庫,它實現了一個自包含的、無伺服器的、零配置的、事務性SQL資料庫引擎。它是一個零配置的資料庫,這意味著與其他資料庫不同,您不需要在系統中配置它。
SQLite引擎不像其他資料庫那樣是一個獨立的程序,您可以根據需要將其靜態或動態地連結到您的應用程式。SQLite直接訪問其儲存檔案。
為什麼選擇SQLite?
SQLite不需要單獨的伺服器程序或系統來執行(無伺服器)。
SQLite是零配置的,這意味著不需要設定或管理。
完整的SQLite資料庫儲存在一個單一的跨平臺磁碟檔案中。
SQLite非常小巧輕便,完全配置後小於400KiB,或者省略可選功能後小於250KiB。
SQLite是自包含的,這意味著沒有外部依賴項。
SQLite事務完全符合ACID規範,允許從多個程序或執行緒安全訪問。
SQLite支援SQL92(SQL2)標準中大多數查詢語言功能。
SQLite是用ANSI-C編寫的,並提供簡單易用的API。
SQLite可在UNIX(Linux,Mac OS-X,Android,iOS)和Windows(Win32,WinCE,WinRT)上使用。
SQLite 簡史
2000年 - D. Richard Hipp 設計了SQLite,目的是不需要任何管理即可執行程式。
2000年 - 8月,SQLite 1.0 與GNU資料庫管理器一起釋出。
2011年 - Hipp宣佈向SQLite資料庫新增UNQl介面並開發UNQLite(面向文件的資料庫)。
SQLite 限制
SQLite中有一些SQL92不支援的功能,列在下面的表格中。
序號 | 功能和描述 |
---|---|
1 | RIGHT OUTER JOIN 只實現了LEFT OUTER JOIN。 |
2 | FULL OUTER JOIN 只實現了LEFT OUTER JOIN。 |
3 | ALTER TABLE 支援ALTER TABLE命令的RENAME TABLE和ADD COLUMN變體。不支援DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT。 |
4 | 觸發器支援 支援FOR EACH ROW觸發器,但不支援FOR EACH STATEMENT觸發器。 |
5 | 檢視 SQLite中的檢視是隻讀的。您不能對檢視執行DELETE、INSERT或UPDATE語句。 |
6 | GRANT 和 REVOKE 唯一可以應用的訪問許可權是底層作業系統的普通檔案訪問許可權。 |
SQLite 命令
與關係資料庫互動的標準SQLite命令類似於SQL。它們是CREATE、SELECT、INSERT、UPDATE、DELETE和DROP。這些命令可以根據其操作性質分為幾組:
DDL - 資料定義語言
序號 | 命令和描述 |
---|---|
1 | CREATE 在資料庫中建立一個新表、表的檢視或其他物件。 |
2 | ALTER 修改現有的資料庫物件,例如表。 |
3 | DROP 刪除資料庫中的整個表、表的檢視或其他物件。 |
DML - 資料操縱語言
序號 | 命令和描述 |
---|---|
1 | INSERT 建立記錄 |
2 | UPDATE 修改記錄 |
3 | DELETE 刪除記錄 |
DQL - 資料查詢語言
序號 | 命令和描述 |
---|---|
1 | SELECT 從一個或多個表中檢索某些記錄 |