鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ SQLite 簡(jiǎn)介
SQLite Having 子句
SQLite 運(yùn)算符
SQLite 注入
SQLite Delete 語(yǔ)句
SQLite – Python
SQLite 數(shù)據(jù)類型
SQLite 簡(jiǎn)介
SQLite 創(chuàng)建數(shù)據(jù)庫(kù)
SQLite Vacuum
SQLite Group By
SQLite 日期 & 時(shí)間
SQLite AND/OR 運(yùn)算符
SQLite 刪除表
SQLite Distinct
SQLite Alter 命令
SQLite PRAGMA
SQLite 約束
SQLite 創(chuàng)建表
SQLite Like 子句
SQLite Limit 子句
SQLite Autoincrement
SQLite 子查詢
SQLite – C/C++
SQLite – PHP
SQLite 命令
SQLite Order By
SQLite Select 語(yǔ)句
SQLite Unions 子句
SQLite – Perl
SQLite – Java
SQLite 別名
SQLite 常用函數(shù)
SQLite Explain(解釋)
SQLite NULL 值
SQLite Glob 子句
SQLite 表達(dá)式
SQLite 視圖
SQLite Where 子句
SQLite Truncate Table
SQLite 索引
SQLite Insert 語(yǔ)句
SQLite 安裝
SQLite Indexed By
SQLite 分離數(shù)據(jù)庫(kù)
SQLite 觸發(fā)器
SQLite 語(yǔ)法
SQLite Joins
SQLite Update 語(yǔ)句
SQLite 附加數(shù)據(jù)庫(kù)
SQLite 事務(wù)

SQLite 簡(jiǎn)介

本教程幫助您了解什么是 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 直接訪問(wèn)其存儲(chǔ)文件。

為什么要用 SQLite?

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

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

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

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

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

  • SQLite 事務(wù)是完全兼容 ACID 的,允許從多個(gè)進(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)中運(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 接口,開發(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)用的唯一的訪問(wèn)權(quán)限是底層操作系統(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。這些命令基于它們的操作性質(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ù)查詢語(yǔ)言

命令 描述
SELECT 從一個(gè)或多個(gè)表中檢索某些記錄。
上一篇:SQLite Unions 子句下一篇:SQLite 注入