當前位置:
首頁 > 知識 > SQLite的 簡介

SQLite的 簡介

您了解什麼是 SQLite,它與 SQL 之間的不同,為什麼需要它,以及它的應用程序資料庫處理方式。

SQLite是一個軟體庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。SQLite是一個增長最快的資料庫引擎,這是在普及方面的增長,與它的尺寸大小無關。SQLite 源代碼不受版許可權制。

SQLite的 簡介

什麼是 SQLite?

SQLite是一個進程內的庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。它是一個零配置的資料庫,這意味著與其他資料庫一樣,您不需要在系統中配置。

就像其他資料庫,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)中運行。

歷史

  1. 2000 -- D. Richard Hipp 設計 SQLite 是為了不需要管理即可操作程序。

  2. 2000 -- 在八月,SQLite1.0 發布 GNU 資料庫管理器(GNU Database Manager)。

  3. 2011 -- Hipp 宣布,向 SQLite DB 添加 UNQl 介面,開發 UNQLite(面向文檔的資料庫)。

SQLite 局限性

在 SQLite 中,SQL92 不支持的特性如下所示:


特性 描述
RIGHT OUTER JOIN 只實現了 LEFT OUTER JOIN。
FULL OUTER JOIN 只實現了 LEFT OUTER JOIN。
ALTER TABLE 支持 RENAME TABLE 和 ALTER TABLE 的 ADD COLUMN variants 命令,不支持 DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT。
Trigger 支持 支持 FOR EACH ROW 觸發器,但不支持 FOR EACH STATEMENT 觸發器。
VIEWs 在 SQLite 中,視圖是只讀的。您不可以在視圖上執行 DELETE、INSERT 或 UPDATE 語句。
GRANT 和 REVOKE 可以應用的唯一的訪問許可權是底層操作系統的正常文件訪問許可權。

SQLite 命令

與關係資料庫進行交互的標準 SQLite 命令類似於 SQL。命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP。這些命令基於它們的操作性質可分為以下幾種:

DDL - 數據定義語言


命令 描述
CREATE 創建一個新的表,一個表的視圖,或者資料庫中的其他對象。
ALTER 修改資料庫中的某個已有的資料庫對象,比如一個表。
DROP 刪除整個表,或者表的視圖,或者資料庫中的其他對象。

DML - 數據操作語言


命令 描述
INSERT 創建一條記錄。
UPDATE 修改記錄。
DELETE 刪除記錄。

DQL - 數據查詢語言


命令 描述
SELECT 從一個或多個表中檢索某些記錄。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Servlet Cookie 處理
AJAX 資料庫實例

TAG:程序員小新人學習 |