天天看點

mysql lite_SQLite 簡介

SQLite 簡介

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

SQLite是一個軟體庫,實作了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。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)中運作。

曆史

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

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

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從一個或多個表中檢索某些記錄。

繼續閱讀