SQLite 簡(jiǎn)介

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

SQLite是一個(gè)軟件庫(kù),它實(shí)現(xiàn)了一個(gè)自包含、無(wú)服務(wù)器、零配置、事務(wù)性SQL數(shù)據(jù)庫(kù)引擎。SQLite是目前增長(zhǎng)最快的數(shù)據(jù)庫(kù)引擎之一,但這是受歡迎程度的增長(zhǎng),與它的規(guī)模無(wú)關(guān)。SQLite的源代碼在公共域中。

什么是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ù)一樣,您無(wú)需在系統(tǒng)中對(duì)其進(jìn)行配置。

SQLite引擎不是一個(gè)獨(dú)立于其他數(shù)據(jù)庫(kù)的獨(dú)立進(jìn)程,您可以根據(jù)需要將其靜態(tài)或動(dòng)態(tài)鏈接到應(yīng)用程序。SQLite直接訪問(wèn)其存儲(chǔ)文件。

為什么選擇SQLite?

  • SQLite不需要單獨(dú)的服務(wù)器進(jìn)程或系統(tǒng)即可運(yùn)行(無(wú)服務(wù)器)。

  • SQLite帶有零配置,這意味著不需要設(shè)置或管理。

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

  • SQLite非常小且重量輕,完全配置的內(nèi)存小于400KiB,而省略的可選功能則小于250KiB。

  • SQLite是獨(dú)立的,這意味著沒有外部依賴關(guān)系。

  • SQLite事務(wù)完全符合ACID,從而允許從多個(gè)進(jìn)程或線程進(jìn)行安全訪問(wèn)。

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

  • SQLite用ANSI-C編寫,提供簡(jiǎn)單易用的API。

  • SQLite在UNIX(Linux,Mac OS-X,Android,iOS)和Windows(Win32,WinCE,WinRT)上可用。

SQLite簡(jiǎn)史

  • 2000年-D.理查德·希普(R. Richard Hipp)設(shè)計(jì)SQLite的目的是無(wú)需管理程序即可運(yùn)行程序。

  • 2000年-8月,SQLite 1.0與GNU數(shù)據(jù)庫(kù)管理器一起發(fā)布。

  • 2011年-Hipp宣布將UNQl接口添加到SQLite DB并開發(fā)UNQLite(面向文檔的數(shù)據(jù)庫(kù))。

SQLite局限性

下表列出了 SQLite 中幾個(gè)不受支持的 SQL92特性。

序號(hào)功能與說(shuō)明
1

RIGHT OUTER JOIN

僅實(shí)現(xiàn)了LEFT OUTER JOIN。

2

FULL OUTER JOIN

僅實(shí)現(xiàn)了LEFT OUTER JOIN。

3

ALTER TABLE

支持ALTER TABLE命令的RENAME TABLE和ADD COLUMN變體。不支持DROP COLUMN,ALTER COLUMN,ADD CONSTRAINT。

4

Trigger support

支持FOR EACH ROW觸發(fā)器,但不支持FOR EACH STATEMENT觸發(fā)器。

5

VIEWs

SQLite中的VIEW是只讀的。您可能無(wú)法在視圖上執(zhí)行DELETE,INSERT或UPDATE語(yǔ)句。

6

GRANT and REVOKE

唯一可以應(yīng)用的訪問(wèn)權(quán)限是基礎(chǔ)操作系統(tǒng)的普通文件訪問(wèn)權(quán)限。

SQLite命令

與關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互的標(biāo)準(zhǔn)SQLite命令類似于SQL。它們是CREATE,SELECT,INSERT,UPDATE,DELETE和DROP。這些命令可以根據(jù)其操作性質(zhì)分為幾類-

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

序號(hào)命令與說(shuō)明
1

CREATE

在數(shù)據(jù)庫(kù)中創(chuàng)建新表,表視圖或其他對(duì)象。

2

ALTER

修改現(xiàn)有的數(shù)據(jù)庫(kù)對(duì)象,例如表。

3

DROP

刪除整個(gè)表,數(shù)據(jù)庫(kù)表的視圖或其他對(duì)象。

DML-數(shù)據(jù)處理語(yǔ)言

序號(hào)命令與說(shuō)明
1

INSERT

創(chuàng)建一條記錄

2

UPDATE

修改記錄

3

DELETE

刪除記錄

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

序號(hào)命令與說(shuō)明
1

SELECT

從一個(gè)或多個(gè)表中檢索某些記錄

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清