SQLite
維基百科,自由的百科全書
SQLite |
|
---|---|
開發 | D. Richard Hipp |
最近版本 | 3.6.4 / 2008年10月15日 |
操作系統 | 跨平臺 |
類型 | 開發庫 |
許可協議 | 公有領域 |
網站 | SQLite |
SQLite是遵守ACID的關聯式數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。
不像常見的客戶-服務器範例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成爲它的一個主要部分。所以主要的通信協議是在編程語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數據庫(定義、表、索引和數據本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設計是通過在開始一個事務的時候鎖定整個數據文件而完成的。
目錄[隱藏] |
[編輯]特徵
庫實現了多數的SQL-92標準,包括事務,就是代表原子性、一致性、隔離性和持久性的(ACID),觸發器和多數的複雜查詢。不進行類型檢查。你可以把字符串插入到整數列中。例如,某些用戶發現這是使數據庫更加有用的創新,特別是與無類型的腳本語言一起使用的時候。其他用戶認爲這是主要的缺點。
多個進程或線程可以訪問同一個數據而沒有問題。可以並行的滿足多個讀訪問。只有在其他訪問當前不被服務的時候才能滿足寫訪問;否則寫訪問失敗並帶有一個錯誤代碼(也可以在可配置的超時過期之後自動的重試)。
提供了叫做sqlite的一個獨立程序用來查詢和管理SQLite數據庫文件。 它也充當寫使用SQLite庫的應用的一個例子。
[編輯]語言綁定
可以從C/C++程序中使用這個庫,還可以獲得對Tcl和一些其他腳本語言的綁定。
在CPAN的DBD::SQLite上有一個Perl的DBI/DBD模塊,它不是到SQLite的接口,而是包括整個SQLite數據庫引擎在其中並不需要任何額外的軟件。
還有一個Python模塊叫做PySQLite。
PHP從PHP5.0開始包含了SQLite,但是自5.1版之後開始成爲一個延伸函式庫。SQLite能與PHP4一起工作但不包含在其中。
Rails2.0.3將缺省的數據庫配置改爲了SQLite 3
[編輯]SQLite管理客戶端
SQLite亦可以作爲桌面數據庫使用,以下爲第三方SQLite的GUI軟件。例如,
- SQLiteMan,使用QT開發的一個SQLite客戶端,支持多語言、跨平臺。SQLiteMan
- SQLite Manager, 以 火狐瀏覽器的擴展形式提供的SQLite客戶端。
- SQLite Database Browser, a graphical client to access SQLite databases
- SqlPro SQL Client, another graphical client to work with SQLite databases
[編輯]參見
[編輯]外部鏈接
- SQLite 主頁
- Database Master
- pysqlite - A Python Wrapper.
- DBD::SQLite - CPAN 上的 Perl 模塊。
- Sqlite-ruby - Ruby 語言接口。
- SQLiteManager - 管理 SQLite 數據庫的多語言的 PHP4 寫的 web 工具。
- SQLite Developer - SQLite 可視化數據庫管理器。
- SQLiteBrowser - 視窗接口 SQLite 數據庫瀏覽器
- SQLite ODBC 驅動程序
- SQLite C++ 包裝器
- Visual SQLite - SQLite 的 Windows 下 GUI 界面。
- SQLiteSpy - Win32 GUI with Unicode support, Freeware
- SQLite Administrator (english, german, french, portugues)
- SQLite.NET 2.0 - An ADO.NET 2.0 provider for SQLite
- Using SQLite Database with OpenOffice.org (via ODBC or *sqlite-sdbc-driver)
- A tutorial to SQLite3
- Interview with Richard Hipp