2009年2月14日

SQLite

微軟釋放可以免費使用的 SQL Express 2008,對個人使用者來講是一大德政。但是對於個人單機使用上我還是覺得太複雜。最近不小心在 Internet 上發現有 SQLite 的 ADO.NET 2.0 Provider,讓我回頭再檢視 SQLite 的特性。它有下列特性:
  • 支援ACID (Atomic, Consistent, Isolated, Durable) transaction。
  • 支援大部分 92 SQL語法。
  • 不需要管理者,以及額外的設定。
  • 一個資料庫為單一檔案。
  • 支援 TCL,也支援很多其他語言。
  • 是一個自由軟體的關聯式資料庫。
  • 佔用記憶體小。
  • 誇平台。

由於它的簡單很適合開發崁入式與個人單機的程式。從文字內容看似簡單,也要試試才知道是否可以拿來開發程式使用。於是按照官方網站(http://www.sqlite.org/)的文件,測試看看是否OK。下面記錄 command-line 的模式下的語法與結果。

sqlite3 test.db
SQLite version 3.6.10
Enter ".help" for instructions
sqlite> create table tbl1(one varchar(10), two smallint);
sqlite> insert into tbl1 values('hello!',10);
sqlite> insert into tbl1 values('goodbye', 20);
sqlite> select * from tbl1;
hello!10
goodbye20
sqlite>

經簡單測試,覺的真的很容易使用。但是靠 command-line 模式,覺得也不是挺方便。後來發現它的讚助者 Mozilla 在 FireFox 有個 add-on 元件提供一個 GUI 的管理程式。讓你很容易可以管理SQLite 的資料庫,可讓建立 Database 與 Table 更輕鬆。


下面是 SQLite 的 ADO.NET 2.0 Provider 的參考網站 http://sqlite.phxsoftware.com/。先記錄此網站。等待以後在 Visaul Express 2008 測試是否可以使用。