SQLite 簡(jiǎn)介

2022-08-17 09:42 更新

本教程幫助您了解什么是 SQLite,它與 SQL 之間的不同,為什么需要它,以及它的應(yīng)用程序數(shù)據(jù)庫(kù)處理方式。

SQLite是一個(gè)軟件庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫(kù)引擎。SQLite是一個(gè)增長(zhǎng)最快的數(shù)據(jù)庫(kù)引擎,這是在普及方面的增長(zhǎng),與它的尺寸大小無(wú)關(guān)。SQLite 源代碼不受版權(quán)限制。

什么是 SQLite?

SQLite是一個(gè)進(jìn)程內(nèi)的庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫(kù)引擎。它是一個(gè)零配置的數(shù)據(jù)庫(kù),這意味著與其他數(shù)據(jù)庫(kù)一樣,您不需要在系統(tǒng)中配置。

就像其他數(shù)據(jù)庫(kù),SQLite 引擎不是一個(gè)獨(dú)立的進(jìn)程,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動(dòng)態(tài)連接。SQLite 直接訪(fǎng)問(wèn)其存儲(chǔ)文件。

為什么要用 SQLite?

  • 不需要一個(gè)單獨(dú)的服務(wù)器進(jìn)程或操作的系統(tǒng)(無(wú)服務(wù)器的)。

  • SQLite 不需要配置,這意味著不需要安裝或管理。

  • 一個(gè)完整的 SQLite 數(shù)據(jù)庫(kù)是存儲(chǔ)在一個(gè)單一的跨平臺(tái)的磁盤(pán)文件。

  • SQLite 是非常小的,是輕量級(jí)的,完全配置時(shí)小于 400KiB,省略可選功能配置時(shí)小于250KiB。

  • SQLite 是自給自足的,這意味著不需要任何外部的依賴(lài)。

  • SQLite 事務(wù)是完全兼容 ACID 的,允許從多個(gè)進(jìn)程或線(xiàn)程安全訪(fǎng)問(wèn)。

  • SQLite 支持 SQL92(SQL2)標(biāo)準(zhǔn)的大多數(shù)查詢(xún)語(yǔ)言的功能。

  • SQLite 使用 ANSI-C 編寫(xiě)的,并提供了簡(jiǎn)單和易于使用的 API。

  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運(yùn)行。

歷史

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

  2. 2000 -- 在八月,SQLite1.0 發(fā)布 GNU 數(shù)據(jù)庫(kù)管理器(GNU Database Manager)。

  3. 2011 -- Hipp 宣布,向 SQLite DB 添加 UNQl 接口,開(kāi)發(fā) UNQLite(面向文檔的數(shù)據(jù)庫(kù))。

SQLite 局限性

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

特性描述
RIGHT OUTER JOIN(右外連接)只實(shí)現(xiàn)了 LEFT OUTER JOIN(左外連接)。
FULL OUTER JOIN(全連接)只實(shí)現(xiàn)了 LEFT OUTER JOIN。
ALTER TABLE支持 RENAME TABLE 和 ALTER TABLE 的 ADD COLUMN variants 命令,不支持 DROP COLUMN、ALTER COLUMN、ADD CONSTRAINT。
Trigger 支持支持 FOR EACH ROW 觸發(fā)器,但不支持 FOR EACH STATEMENT 觸發(fā)器。
VIEWs在 SQLite 中,視圖是只讀的。您不可以在視圖上執(zhí)行 DELETE、INSERT 或 UPDATE 語(yǔ)句。
GRANT 和 REVOKE可以應(yīng)用的唯一的訪(fǎng)問(wèn)權(quán)限是底層操作系統(tǒng)的正常文件訪(fǎng)問(wèn)權(quán)限。

SQLite 命令

與關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互的標(biāo)準(zhǔn) SQLite 命令類(lèi)似于 SQL。命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP。這些命令基于它們的操作性質(zhì)可分為以下幾種:

DDL - 數(shù)據(jù)定義語(yǔ)言

命令描述
CREATE創(chuàng)建一個(gè)新的表,一個(gè)表的視圖,或者數(shù)據(jù)庫(kù)中的其他對(duì)象。
ALTER修改數(shù)據(jù)庫(kù)中的某個(gè)已有的數(shù)據(jù)庫(kù)對(duì)象,比如一個(gè)表。
DROP刪除整個(gè)表,或者表的視圖,或者數(shù)據(jù)庫(kù)中的其他對(duì)象。

DML - 數(shù)據(jù)操作語(yǔ)言

命令描述
INSERT創(chuàng)建一條記錄。
UPDATE修改記錄。
DELETE刪除記錄。

DQL - 數(shù)據(jù)查詢(xún)語(yǔ)言

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


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)