SQLLITE

"SQLite的數據類型 SQLite是無類型的. SQLite支持常見的數據類型

1、SQLite簡介
SQLite第一個Alpha版本誕生於2000年5月. 至今已經有4個年頭了. 而在今年的5月SQLite也迎來了一個新的里程: SQLite 3. SQLite官方網站: http://www.sqlite.org/
2、SQLite類型
SQLite的數據類型
首先你會接觸到一個讓你驚訝的名詞: Typelessness(無類型). 對! SQLite是無類型的. 這意味著你可以保存任何類型的數據到你所想要保存的任何表的任何列中, 無論這列聲明的數據類型是什麼(只有在一種情況下不是, 稍後解釋). 對於SQLite來說對欄位不指定類型是完全有效的. 如:
Create Table ex1(a, b, c);
誠然SQLite允許忽略數據類型, 但是仍然建議在你的Create Table語句中指定數據類型. 因為數據類型對於你和其他的程式設計師交流, 或者你準備換掉你的資料庫引擎. SQLite支持常見的數據類型, 如:
CREATE TABLE ex2(
a VARCHAR(10),
b nvarchar(15),
c TEXT,
d INTEGER,
e FLOAT,
f BOOLEAN,
g CLOB,
h BLOB,
i TIMESTAMP,
j NUMERIC(10,5)
k VARYING CHARACTER (24),
l NATIONAL VARYING CHARACTER(16)
);
前面提到在某種情況下, SQLite的欄位並不是無類型的. 即在欄位類型為”Integer Primary Key”時.
SQLite支持SQL92 標準。
3、用.NET操作sqlite資料庫
System.Data.SQLite
是一個原始SQLite的加強版.它將是一個原版的sqlite3.dll完全替代品 (你甚至就可以把它重命名為sqlite3.dll).它不需要連結.NET 運行時,所以可以脫離.NET獨立發布, 然而它內嵌了一個完整的 ADO.NET 2.0 引擎,為開發提供了完整的支持.
以下是它的特性簡介:
完整的 ADO.NET 2.0 實現
整個工程完全基於VS2005 和 ADO.NET 2.0全新構建, 使用了全部的ADO.NET framework新特性.包括完整的 DbProviderFactory 支持, 自動的分散式事務調用, 廣泛的模式支持, 此外所有的類都是從 ADO.NET 2.0 的基類繼承下來的.
支持完整和精簡的 .NET Framework 以及 C/C++
這個庫不需要連結依賴.NET運行時,100%兼容原始的sqlite3.dll,可以使用非託管的C/C++ 進行開發.
可移植的資料庫檔案
未加密的 SQLite 資料庫檔案可以自由的跨平台和處理器使用,包括非Windows平台. 加密之後的資料庫可以在全部Windows平台上使用.
可以信賴的速度,比包括Sql Server Mobile 在內的其它大多數嵌入式資料庫都要快速
SQLite'安裝所占用的空間相對於Sql Mobile可謂忽略不計了. 它在運行的時候占用更少的記憶體,同時生成的資料庫也更小.
資料庫加密
可以對整個資料庫檔案進行加密.支持二進制和明文的密碼.
支持使用Visual Studio 2005 設計
你可以向Server Explorer添加一個SQLite 連線, 使用查詢設計器創建處查詢語句, 向一個數據集中拖拽一個表格等等! SQLite的開發者可以在包括體驗版在內的各種Visual Studio 2005下工作.
單檔案再發布包容量在400kb以下
將SQLite本身和ADO.NET 封裝捆綁編譯在一起.預編譯的二進制檔案提供了 x86, IA64, x64 和ARM 的版本.
廣泛的SQL語言支持
SQLite 支持大部分的SQL92 標準(see below).支持命名和未命名的參數以 UTF-8 和UTF-16 編碼通過最佳化的管道傳入SQLite 核心.
用戶自定義的函式 和 排序
全面支持用戶自定義函式和排序方式,意味著你可以用自己喜歡的.NET語言來實現SQLite沒有提供的特性.這一切將非常的簡單.
提供了全部的原始碼.100% 免費.
全部的封裝庫原始碼都是公有的.無論是個人還是商業套用都沒有任何的協定約束.
主頁地址:http://sqlite.phxsoftware.com/
4、SQLite的管理
管理工具也有不少,建議您使用sqlitemanager,用法酷像PHPMYADMIN.
可以到 http://sqlitemanager.sourceforge.net/下載 。
SQLite Query Analyzer Documentation :http://www.monkeyshinez.net/SQLiteQA
可惜作者沒有維護了,最新的可以參看這篇文章
SQLiteQA3: A SQLite Query Analyzer Clone for Visual Studio 2005 :http://www.eggheadcafe.com/articles/20060803.asp
管理SQLite資料庫的工具SQLite Developer你可以從http://www.sharpplus.com/免費下載
5、SQLite 預設情況下採用 Binary 方式比較字元串,因此我們使用
select * from [user] where [username] = 'Username1'
是找不出 [Username] = 'username1' 這樣記錄的。顯然,這和我們平常使用的 SQL 檢索有所區別。
解決方法:
創建資料庫時,為目標欄位添加 "collate NOCASE" 即可。
如:
CREATE TABLE [User]
(
[Username] TEXT NOT NULL COLLATE NOCASE
);
SQLite 3.0 Membership and Role Provider for asp.net 2.0

相關詞條

相關搜尋

熱門詞條

聯絡我們