您现在的位置是:首页 > 电脑技术查询 > 电脑知识

sqllite

编辑:chaxungu时间:2022-09-28 09:39:54分类:电脑知识

1、sqlite简介
sqlite第一个alpha版本诞生于2000年5月.至今已经有4个年头了.而在今年的5月sqlite也迎来了一个新的里程:sqlite3.sqlite官方网站:http://www.sqlite.org/
2、sqlite类型
sqlite的数据类型
首先你会接触到一个让你惊讶的名词:typelessness(无类型).对!sqlite是无类型的.这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中,无论这列声明的数据类型是什么(只有在一种情况下不是,稍后解释).对于sqlite来说对字段不指定类型是完全有效的.如:
createtableex1(a,b,c);
诚然sqlite允许忽略数据类型,但是仍然建议在你的createtable语句中指定数据类型.因为数据类型对于你和其他的程序员交流,或者你准备换掉你的数据库引擎.sqlite支持常见的数据类型,如:
createtableex2(
avarchar(10),
bnvarchar(15),
ctext,
dinteger,
efloat,
fboolean,
gclob,
hblob,
itimestamp,
jnumeric(10,5)
kvaryingcharacter(24),
lnationalvaryingcharacter(16)
);
前面提到在某种情况下,sqlite的字段并不是无类型的.即在字段类型为”integerprimarykey”时.
sqlite支持sql92标准。
3、用.net操作sqlite数据库
system.data.sqlite
是一个原始sqlite的加强版.它将是一个原版的sqlite3.dll完全替代品(你甚至就可以把它重命名为sqlite3.dll).它不需要链接.net运行时,所以可以脱离.net独立发布,然而它内嵌了一个完整的ado.net2.0引擎,为开发提供了完整的支持.
以下是它的特性简介:
完整的ado.net2.0实现
整个工程完全基于vs2005和ado.net2.0全新构建,使用了全部的ado.netframework新特性.包括完整的dbproviderfactory支持,自动的分布式事务调用,广泛的模式支持,此外所有的类都是从ado.net2.0的基类继承下来的.
支持完整和精简的.netframework以及c/c++
这个库不需要链接依赖.net运行时,100%兼容原始的sqlite3.dll,可以使用非托管的c/c++进行开发.
可移植的数据库文件
未加密的sqlite数据库文件可以自由的跨平台和处理器使用,包括非windows平台.加密之后的数据库可以在全部windows平台上使用.
可以信赖的速度,比包括sqlservermobile在内的其它大多数嵌入式数据库都要快速
sqlite'安装所占用的空间相对于sqlmobile可谓忽略不计了.它在运行的时候占用更少的内存,同时生成的数据库也更小.
数据库加密
可以对整个数据库文件进行加密.支持二进制和明文的密码.
支持使用visualstudio2005设计
你可以向serverexplorer添加一个sqlite连接,使用查询设计器创建处查询语句,向一个数据集中拖拽一个表格等等!sqlite的开发者可以在包括体验版在内的各种visualstudio2005下工作.
单文件再发布包容量在400kb以下
将sqlite本身和ado.net封装捆绑编译在一起.预编译的二进制文件提供了x86,ia64,x64和arm的版本.
广泛的sql语言支持
sqlite支持大部分的sql92标准(seebelow).支持命名和未命名的参数以utf-8和utf-16编码通过优化的管道传入sqlite内核.
用户自定义的函数和排序
全面支持用户自定义函数和排序方式,意味着你可以用自己喜欢的.net语言来实现sqlite没有提供的特性.这一切将非常的简单.
提供了全部的源代码.100%免费.
全部的封装库源代码都是公有的.无论是个人还是商业应用都没有任何的协议约束.
主页地址:http://sqlite.phxsoftware.com/
4、sqlite的管理
管理工具也有不少,建议您使用sqlitemanager,用法酷像phpmyadmin.
可以到http://sqlitemanager.sourceforge.net/下载。
sqlitequeryanalyzerdocumentation:http://www.monkeyshinez.net/sqliteqa
可惜作者没有维护了,最新的可以参看这篇文章
sqliteqa3:asqlitequeryanalyzercloneforvisualstudio2005:http://www.eggheadcafe.com/articles/20060803.asp
管理sqlite数据库的工具sqlitedeveloper你可以从http://www.sharpplus.com/免费下载
5、sqlite缺省情况下采用binary方式比较字符串,因此我们使用
select*from[user]where[username]='username1'
是找不出[username]='username1'这样记录的。显然,这和我们平常使用的sql检索有所区别。
解决方法:
创建数据库时,为目标字段添加"collatenocase"即可。
如:
createtable[user]
(
[username]textnotnullcollatenocase
);
sqlite3.0membershipandroleproviderforasp.net2.0


上一篇:众一zy500

下一篇:金股王