SQLITE3經(jīng)典學(xué)習(xí)資料.pdf

SQLITE3經(jīng)典學(xué)習(xí)資料.pdf

ID:23983702

大?。?38.00 KB

頁(yè)數(shù):12頁(yè)

時(shí)間:2018-11-12

SQLITE3經(jīng)典學(xué)習(xí)資料.pdf_第1頁(yè)
SQLITE3經(jīng)典學(xué)習(xí)資料.pdf_第2頁(yè)
SQLITE3經(jīng)典學(xué)習(xí)資料.pdf_第3頁(yè)
SQLITE3經(jīng)典學(xué)習(xí)資料.pdf_第4頁(yè)
SQLITE3經(jīng)典學(xué)習(xí)資料.pdf_第5頁(yè)
資源描述:

《SQLITE3經(jīng)典學(xué)習(xí)資料.pdf》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、SQLite簡(jiǎn)介1.SQLite說(shuō)明SQLite是一款輕量級(jí)數(shù)據(jù)庫(kù),是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng).它的設(shè)計(jì)目的是嵌入式。目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百KB的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix/Android等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如C/C++,Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開(kāi)源世界著名的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)講,它的處理速度比他們都

2、快。SQLite的版權(quán)允許無(wú)限制地應(yīng)用,不用支付任何使用和授權(quán)費(fèi)用,已經(jīng)成為了最受歡迎的開(kāi)源數(shù)據(jù)庫(kù)之一。SQLite網(wǎng)站(www.sqlite.org)同時(shí)提供SQLite的已編譯版本和源程序。SQLite的特性:?輕量級(jí)SQLite是一個(gè)輕量級(jí)數(shù)據(jù)庫(kù),本身足夠小,大致3萬(wàn)行C代碼,250K,但支持?jǐn)?shù)據(jù)庫(kù)大小至2TB。?獨(dú)立性SQLite數(shù)據(jù)庫(kù)的核心引擎不需要依賴(lài)第三方軟件,也不需要所謂的“安裝”。?隔離性SQLite數(shù)據(jù)庫(kù)中所有的信息(比如表、視圖、觸發(fā)器等)都包含在一個(gè)文件夾內(nèi),方便管理和維護(hù)。?跨平臺(tái)

3、SQLite目前支持大部分操作系統(tǒng),不至電腦操作系統(tǒng)更在眾多的手機(jī)系統(tǒng)也是能夠運(yùn)行,比如:Android。?多語(yǔ)言接口SQLite數(shù)據(jù)庫(kù)支持多語(yǔ)言編程接口。?安全性SQLite數(shù)據(jù)庫(kù)通過(guò)數(shù)據(jù)庫(kù)級(jí)上的獨(dú)占性和共享鎖來(lái)實(shí)現(xiàn)獨(dú)立事務(wù)處理。這意味著多個(gè)進(jìn)程可以在同一時(shí)間從同一數(shù)據(jù)庫(kù)讀取數(shù)據(jù),但只能有一個(gè)可以寫(xiě)入數(shù)據(jù).?開(kāi)源SQLite的源代碼是完全開(kāi)源的,良好注釋的源代碼,并且有著90%以上的測(cè)試覆蓋率,?還內(nèi)置地同時(shí)支持UTF-8和UTF-16編碼。缺點(diǎn):并發(fā)性差,沒(méi)有固定的事務(wù)日志,保密安全性不強(qiáng)。SQLite

4、簡(jiǎn)介:SQLite是D.RichardHipp于2000年開(kāi)發(fā)出來(lái)的一個(gè)自容納、可嵌入、零配置數(shù)據(jù)庫(kù)引擎的小型數(shù)據(jù)庫(kù)。它支持多數(shù)SQL92標(biāo)準(zhǔn)。SQLite3.0的C編程一共涉及到83個(gè)API函數(shù),此外還有一些數(shù)據(jù)結(jié)構(gòu)和預(yù)定義。這些接口的使用一般都不復(fù)雜,最簡(jiǎn)單的程序只要三個(gè)函數(shù)就可以完成:sqlite3_open(),sqlite3_exec()和sqlite3_close()。如果想更好地控制數(shù)據(jù)庫(kù)引擎的執(zhí)行,可以使用sqlite3_prepare()函數(shù)把SQL語(yǔ)句編譯成字節(jié)碼,然后再使用sqlite

5、3_step()來(lái)執(zhí)行編譯好的字節(jié)碼,以sqlite3_column_xxx()表示的一組函數(shù)來(lái)獲取查詢(xún)結(jié)果集中的信息,其中xxx代表返回?cái)?shù)值的數(shù)據(jù)類(lèi)型,如int、text、blob,real等。對(duì)于程序員來(lái)說(shuō),SQLite就象一個(gè)數(shù)據(jù)傳送帶,提供了一種方便的將應(yīng)用程序綁定的數(shù)據(jù)的方法。你可以操作互相關(guān)聯(lián)的數(shù)據(jù),可以完成很繁重的任務(wù)不必寫(xiě)自己的算法來(lái)對(duì)數(shù)據(jù)結(jié)構(gòu)操作和排序。SQLite的應(yīng)用:SQLite已經(jīng)被多種軟件和產(chǎn)品所使用:Apple的MacOSX操作系統(tǒng);Safari的Web瀏覽器;Mail.app

6、的電子郵件程序、RSS的管理;Apple的Aperture照片軟件;Adobe的AIR;Google的android;從這些說(shuō)明它的健壯性、穩(wěn)定性等方面不會(huì)有太大問(wèn)題。SQLite的結(jié)構(gòu)原理:SQL語(yǔ)句編譯器(Complier)由詞法處理器(Tokenize)、句法分析器(Parser)和代碼生成器(Codegenerator)組成。執(zhí)行SQL語(yǔ)句時(shí),由接口把包含該SQL語(yǔ)句的字符串傳給詞法處理器進(jìn)行詞法分析處理,把字符串分成一個(gè)一個(gè)的詞法單元,然后把處理結(jié)果再傳遞句法分析器進(jìn)行語(yǔ)法分析,它調(diào)用代碼生成器產(chǎn)

7、生能夠在虛擬機(jī)(VirtualMachine)上執(zhí)行的指令碼。VirtualMachine是為操作數(shù)據(jù)庫(kù)文件而執(zhí)行的一個(gè)抽象的計(jì)算機(jī)引擎,又稱(chēng)虛擬數(shù)據(jù)庫(kù)引擎(VDBE),它是SQLite的核心.在SQL語(yǔ)句被分析之后,代碼生成器將生成用VDBE的虛擬機(jī)器語(yǔ)言表示的一系列指令。如此反復(fù),VDBE執(zhí)行每條指令,最終完成SQL語(yǔ)句指定的查詢(xún),刪除,存儲(chǔ)等請(qǐng)求。B-Tree,是SQLite實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的模式,每個(gè)表和索引使用單獨(dú)的B-Tree,有助于的查找減到最小,快速有效。PagerCache對(duì)數(shù)據(jù)塊讀寫(xiě)提供高速

8、緩沖,同時(shí)也提供回退、原子操作及對(duì)數(shù)據(jù)庫(kù)文件加鎖,通過(guò)緩沖機(jī)制,可以避免頻繁進(jìn)行I/O操作而降低應(yīng)用程序的性能。2.數(shù)據(jù)庫(kù)接口1.sqlite3_open()連接數(shù)據(jù)庫(kù)用sqlite3_open()函數(shù),它們的聲明如下intsqlite3_open(constchar*filename,/*Databasefilename(UTF-8)*/sqlite3**ppDb/*OUT:SQLitedbhandle*/);

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。