日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 充電吧
[導讀]目錄(?)[+]一、初識sqlite?????????偶然的機會接觸到sqlite,不禁驚嘆sqlite的體型小巧而功能強大(看來軟件也不可貌相哦),Sqlite 是開源的內存數據庫(也可以稱之為內嵌


目錄(?)[+]

一、初識sqlite

?????????偶然的機會接觸到sqlite,不禁驚嘆sqlite的體型小巧而功能強大(看來軟件也不可貌相哦),Sqlite 是開源的內存數據庫(也可以稱之為內嵌式數據庫),大量無私的程序員為sqlite發(fā)展貢獻了自己的力量。Sqlite 應用極廣,手機、mp3,機頂盒可能存在sqlite身影,Apple的Mac os,linux,或者windows在安裝第三方軟件時也可以應用sqlite。

?????????Sqlite技術優(yōu)點:

1.??Sqlite輕量級、跨平臺的關系型開源內存數據庫,使用sqlite只需帶上動態(tài)庫,就可使用sqlite全部功能(動態(tài)庫Windows下487KB,Linux下347KB);

2.???核心引擎不依賴第三方軟件,也不需要安裝;

3.???數據庫中所有的信息(比如表、視圖、觸發(fā)器、等)都包含在一個文件內。這個文件可以copy到其它目錄或其它機器上,也照用不誤。如果使用內存方式,可以沒有該文件;

4.???除了主流操作系統,SQLite還支持了很多冷門的操作系統。它對很多嵌入式系統(比如Android、Windows Mobile、Symbin、Palm、VxWorks等)也支持;

5.???SQLite的API不區(qū)分當前操作的數據庫是在內存還是在文件(對于存儲介質是透明的);

等等;

???????? 缺點:

1.??? 并發(fā)訪問的鎖機制
SQLite在并發(fā)(包括多進程和多線程)讀寫方面的性能不太理想。數據庫可能會被寫操作獨占,從而導致其它讀寫操作阻塞或出錯;

2.???? SQL標準支持不全

如不支持外鍵約束;

??????????看來還是優(yōu)點多于缺點!呵呵!

二、sqlite體系機構

?????????????? sqlite模塊將 查詢過程分為幾個不連續(xù)的任務,在結構棧的頂部編譯查詢語句,中不執(zhí)行,在底部處理操作系統的存儲和接口。

?

??????????? ???????????????????????????????????????? ???????圖1-2SQLite的體系結構

(注:結構圖轉載于《SQLite權威指南》)

三、sqlite文件數據庫、內存數據庫建立及導入導出

?????????? sqlite官網(www.sqlite.org)同時提供已編譯版本和源程序。同時適用于Windows和linux。

?????????? 經過前面sqlite熱身之后,趕緊轉入正題,干點正事!(*^__^*)

3.1 文件數據庫、內存數據庫的建立 3.1.1文件數據庫的建立

Windows:

1)? 下載sqlite最新版本sqlite3.exe;

2)? dos進入到執(zhí)行程序目錄下;

3)? 輸入 sqlite3? d:test.db(如果后面執(zhí)行路徑存在test.db 則打開數據庫;如果執(zhí)行路徑下不存在test.db則新建test.db);

Linux:

1)? 下載sqlite最新版本sqlite3;

2)? Shell進入到可知性程序目錄下;

3) 輸入sqlite3? /home/test.db(如果后面執(zhí)行路徑存在test.db 則打開數據庫;如果執(zhí)行路徑下不存在test.db則新建test.db);

至此則打開或者新建一個文件數據庫庫;

3.1.2 內存數據庫的建立

[cpp]?view plaincopyprint? C代碼示例:?? ?? sqlite3?*db;?? ?? rc?=?sqlite3_open(":memory:",&db);????//?內存中創(chuàng)建一個數據庫?? ?? 3.2?文件數據庫、內存數據庫的導入導出?? ?? C代碼示例:?? ?? ////////////////////////////////////////////////////////////////////////////////////////////?? ?? //參數說明:?? ?? //pInMemory:?指向內存數據庫指針?? ?? //zFilename:?指向文件數據庫目錄的字符串指針?? ?? //isSave??0:?從文件數據庫載入到內存數據庫?1:從內存數據庫備份到文件數據庫?? ?? ////////////////////////////////////////////////////////////////////////////////////////////?? ?? int?loadOrSaveDb(sqlite3?*pInMemeory,?const?char?*zFilename,?int?isSave)?? ?? {?? ?? ?????????int?rc;?? ?? ?????????sqlite3?*pFile;?? ?? ?????????sqlite3_backup?*pBackup;?? ?? ?????????sqlite3?*pTo;?? ?? ?????????sqlite3?*pFrom;?? ?? ?????????rc?=?sqlite3_open(zFilename,?&pFile);?? ?? ?????????if(rc?==?SQLITE_OK)?? ?? ?????????{?? ?? ???????????????????pFrom?=?(isSave?pInMemeory:pFile);?? ???????????????????pTo?=?(isSave?pFile:pInMemeory);?? ?? ???????????????????pBackup?=?sqlite3_backup_init(pTo,"main",pFrom,"main");?? ?? ???????????????????if(pBackup)?? ???????????????????{?? ????????????????????????????(void)sqlite3_backup_step(pBackup,-1);?? ????????????????????????????(void)sqlite3_backup_finish(pBackup);?? ???????????????????}?? ?? ???????????????????rc?=?sqlite3_errcode(pTo);?? ?? ?????????}?? ?? ?????????(void)sqlite3_close(pFile);?? ?? ?????????return?rc;?? }??


?調用實例:

[cpp]?view plaincopyprint? int?ret?=?0;?? ?? char?*filename?=?“d:\test.db”;?? sqlite3?*memoryDb;?? ?? ret?=?sqlite3_open(“memory:”,?&memoryDb);?? ret?=?loadOrSaveDb(memoryDb,?filename,?0)?//文件數據庫導入到內存數據庫??
3.3 文件數據庫命令格式的導入導出

???????? 3.3.1 文件數據庫命令格式數據導出、備份

方法一:(sqlite數據庫內部)

Sqlite>.output d:test.sql

Sqlite>.dump

Sqlite>.output stdout

方法二:(dos命令行)

sqlite3 525.db .dump>haha.sql

3.3.2文件數據庫命令格式數據導入

sqlite>.read? file.sql

???????????? 今天暫且到這了,to be continue……

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統,而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉