簡介SQLite

出自GaryLee
跳轉到: 導覽, 搜尋

SQL資料庫系統是程式設計師的好幫手,對於大量的資料處理上是絕對不可或缺的。不過,如果稍微少一點的資料呢?

比如說:

  • 你有幾千筆的資料,以後也不太會增加。
  • 你的程式可能只有單機使用,
  • 就算可以上網,你也不想就為了這個程式來架一個資料庫。
  • 這個應用程式沒有多人一起使用的需求。

諸如此類的狀況,也許您也曾經遇到過。通常您有幾種作法:

  • 累一點,在同一台機器上架個資料庫系統。
  • 找個小型的資料庫系統,像是GDBM,Windows的Registry,Access,或是乾脆用CSV格式的文字檔。

第一種方法,對於使用者來說可能會是個大問題。因為不是每個使用者都懂得,而且願意架設一個資料庫系統在自己的電腦上。甚至他的電腦夠不夠力跑一個資料庫 系統都是問題。第二種方法,是許多人常用的方式,尤其在Windows系統下面,許多人常常用Registry來作為軟體的資料庫。不過,話說回來,少掉 了SQL的幫助,很多資料處理的功能都要自己來作,對於程式設計師來說真的是很累。

其實,還有另外一種折衷的方案,就是使用SQLite這樣的嵌入式資料庫。對於程式設計師來說,使用這樣的資料庫,與使用一般的SQL資料庫差異不大。一 般的SQL92語法都可以使用。而且不用架設任何系統起來,只要在編譯程式時把SQLite的程式庫一併編入。

而且SQLite的資料庫都是單一的檔案。 所以,要將軟體安裝到使用者的電腦上是再簡單不過的事情。

下面就來看看SQLite網站上對於這個嵌入式資料庫的介紹: SQLite是一個很小的C語言程式庫。這個程式庫本身就完全包含資料庫引擎的功能,而且可以嵌入至其他程式中,完全不用額外的設定。其特性如下:

  • 支援ACID (Atomic, Consistent, Isolated, Durable) 交易。
  • 零組態設定(Zero-configuration),無須管理者的設定及管理。
  • 支援大部分SQL92的語法。
  • 資料庫存在於一個單一的檔案中。
  • 資料庫系統所在機器的位元組順序(Byte order)無關。
  • 支援大小至2 terabytes (2^41 bytes)。
  • 極小的記憶體需求:小於3萬行的C語言程式碼。小於250KB的程式空間。
  • 大部分的資料庫操作皆快於一般流行的資料庫系統。
  • 簡單易用的API。
  • 支援TCL。也有其他語言的支援可用。
  • 註解詳細的程式碼,以及超過90%的測試。
  • 程式庫自己包含完整的功能,無須其他額外的程式或程式庫。
  • 程式碼版權為public domain。任何用途皆可免費使用。

在與其他的開發工具連結方面,SQLite幾乎可以在目前所有的主流開發工具,平台,程式語言上面使用:

  • Ada
  • Anubis
  • BASIC
  • C/C++
  • Ch
  • Clipper
  • Common Lisp
  • COM Wrapper/VB DLLs
  • D language
  • ODBC
  • Pascal/Delphi
  • Director
  • eyuyan
  • Ewe
  • Flash
  • Forth
  • Fortran
  • Haskell
  • J
  • Java
  • JavaScript
  • Lua
  • mIRC script language
  • .Net framework
  • newLisp
  • Objective-C
  • Perl
  • PHP
  • Pike
  • Python
  • Rebol
  • Rexx
  • Ruby
  • S-lang
  • Scheme
  • Smalltalk
  • Tcl/Tk
  • QT

而在作業系統支援上,除了目前大部分的PC/NB所使用的作業系統,如Windows, Linux, FreeBSD, OS/2 ...等。在嵌入式系統上也有支援,如Embedded系統使用的Linux, Win CE及Symbian等等。

個人工具