SQLite 教程


閱讀(585.6k) 收藏 (476)

手冊(cè)簡(jiǎn)介

一款輕型的數(shù)據(jù)庫(kù)。

手冊(cè)說明

201610251605453156

SQLlite是什么?

SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫(kù)中。它是D.RichardHipp建立的公有領(lǐng)域項(xiàng)目。它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數(shù)據(jù)庫(kù)管理系統(tǒng)來講,它的處理速度比他們都快。SQLite第一個(gè)Alpha版本誕生于2000年5月。 至2015年已經(jīng)有15個(gè)年頭,SQLite也迎來了一個(gè)版本 SQLite 3已經(jīng)發(fā)布。


SQLlite工作原理是什么?

不像常見的客戶-服務(wù)器范例,SQLite引擎不是個(gè)程序與之通信的獨(dú)立進(jìn)程,而是連接到程序中成為它的一個(gè)主要部分。所以主要的通信協(xié)議是在編程語言內(nèi)的直接API調(diào)用。這在消耗總量、延遲時(shí)間和整體簡(jiǎn)單性上有積極的作用。整個(gè)數(shù)據(jù)庫(kù)(定義、表、索引和數(shù)據(jù)本身)都在宿主主機(jī)上存儲(chǔ)在一個(gè)單一的文件中。它的簡(jiǎn)單的設(shè)計(jì)是通過在開始一個(gè)事務(wù)的時(shí)候鎖定整個(gè)數(shù)據(jù)文件而完成的。


SQLlite有什么功能和特性?

1.ACID事務(wù)

2.零配置 – 無需安裝和管理配置

3.儲(chǔ)存在單一磁盤文件中的一個(gè)完整的數(shù)據(jù)庫(kù)

4.數(shù)據(jù)庫(kù)文件可以在不同字節(jié)順序的機(jī)器間自由的共享

5.支持?jǐn)?shù)據(jù)庫(kù)大小至2TB

6.足夠小, 大致13萬行C代碼, 4.43M

7.比一些流行的數(shù)據(jù)庫(kù)在大部分普通數(shù)據(jù)庫(kù)操作要快

8.簡(jiǎn)單, 輕松的API

9.包含TCL綁定, 同時(shí)通過Wrapper支持其他語言的綁定

10.良好注釋的源代碼, 并且有著90%以上的測(cè)試覆蓋率

11.獨(dú)立: 沒有額外依賴

12.源碼完全的開源, 你可以用于任何用途, 包括出售它

13.支持多種開發(fā)語言,C, C++, PHP, Perl, Java, C#,Python, Ruby等


使用SQLlite有哪些注意事項(xiàng)?

在確定是否在應(yīng)用程序中使用 SQLite 之前,應(yīng)該考慮以下幾種情況:

有沒有可用于 SQLite 的網(wǎng)絡(luò)服務(wù)器。從應(yīng)用程序運(yùn)行位于其他計(jì)算機(jī)上的 SQLite 的惟一方法是從網(wǎng)絡(luò)共享運(yùn)行。這樣會(huì)導(dǎo)致一些問題,像 UNIX? 和 Windows? 網(wǎng)絡(luò)共享都存在文件鎖定問題。還有由于與訪問網(wǎng)絡(luò)共享相關(guān)的延遲而帶來的性能下降問題。

SQLite 只提供數(shù)據(jù)庫(kù)級(jí)的鎖定。雖然有一些增加并發(fā)的技巧,但是,如果應(yīng)用程序需要的是表級(jí)別或行級(jí)別的鎖定,那么 DBMS 能夠更好地滿足您的需求。

正如前面提到的,SQLite 可以支持每天大約 100,00 次點(diǎn)擊率的 Web 站點(diǎn) —— 并且,在某些情況下,可以處理 10 倍于此的通信量。對(duì)于具有高通信量或需要支持龐大瀏覽人數(shù)的 Web 站點(diǎn)來說,應(yīng)該考慮使用 DBMS。

SQLite 沒有用戶帳戶概念,而是根據(jù)文件系統(tǒng)確定所有數(shù)據(jù)庫(kù)的權(quán)限。這會(huì)使強(qiáng)制執(zhí)行存儲(chǔ)配額發(fā)生困難,強(qiáng)制執(zhí)行用戶許可變得不可能。

SQLite 支持多數(shù)(但不是全部)的 SQL92 標(biāo)準(zhǔn)。不受支持的一些功能包括完全觸發(fā)器支持和可寫視圖。


附加資料

SQLite官網(wǎng):http://www.sqlite.org/

SQLite官方文檔:http://www.sqlite.org/docs.html

SQLite教程:http://m.hgci.cn/sqlite/sqlite-intro.html

SQLite下載:http://www.sqlite.org/index.html


更新記錄

在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)