资源描述:
《《sqlite入门至精通》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、sqlite入门至精通sqlite入门至精通2010年04月09日星期五19:07关键字:sqlite入门至精通菜鸟入门1。从www.sqlite.org下载SQLite3.3.4的版本为了方便,我把它解压了,就一个SQLite3.exe,放入Windows目录下。Cmd进入命令行1)创建数据库文件:SQLite3d:test.db回车就生成了一个test.db在d盘。这样同时也SQLite3挂上了这个test.db2)用.help可以看看有什么命令.help回车即可3)可以在这里直接输入SQL语句创建表格用;结束,然后回
2、车就可以看到了4)看看有创建了多少表.tables5)看表结构.schema表名6)看看目前的数据库.database7)如果要把查询输出到文件.output文件名查询语句;查询结果就输出到了文件c:query.txt把查询结果用屏幕输出.outputstdout8)把表结构输出,同时索引也会输出.dump表名9)退出.exit或者.quit2。从.phxsoftware.com/下载Ado.net驱动。下载了安装,在安装目录中存在System.Data.SQLite.dll我们只需要拷贝这个文件到引用目录,并添加引用即可
3、对SQLite数据库操作了所有的Ado.net对象都是以SQLite开头的,比如SQLiteConnection连接串只需要如下方式DataSource=d:test.db或者DataSource=test.db--应用在和应用程序或者.net能够自动找到的目录剩下的就很简单了~~3。SQL语法由于以前用SQLServer或者ISeries,所以DDL的语法很汗颜1)创建一个单个PrimaryKey的tableCREATETABLE[Admin]([UserName][nvarchar](20)PRIMARYKEYNOTN
4、ULL,[Password][nvarchar](50)NOTNULL,[Rank][smallint]NOTNULL,[MailServer][nvarchar](50)NOTNULL,[MailUser][nvarchar](50)NOTNULL,[MailPassword][nvarchar](50)NOTNULL,[Mail][nvarchar](50)NOTNULL);2)创建一个多个PrimaryKey的tableCREATETABLE[CodeDetail]([CdType][nvarchar](10)NOTN
5、ULL,[CdCode][nvarchar](20)NOTNULL,[CdString1][ntext]NOTNULL,[CdString2][ntext]NOTNULL,[CdString3][ntext]NOTNULL,PRIMARYKEY(CdType,CdCode));3)创建索引CREATEINDEX[IX_Account]ON[Account]([IsCheck],[UserName]);还可以视图等等。4.还有很有用的SQLSelect*fromSqlite_masterSelectdatetime('now'
6、)Selectdate('now')Selecttime('now')SQLite内建函数表算术函数abs(X)返回给定数字表达式的绝对值。max(X,Y[,.])返回表达式的最大值。min(X,Y[,.])返回表达式的最小值。random(*)返回随机数。round(X[,Y])返回数字表达式并四舍五入为指定的长度或精度。字符处理函数length(X)返回给定字符串表达式的字符个数。lower(X)将大写字符数据转换为小写字符数据后返回字符表达式。upper(X)返回将小写字符数据转换为大写的字符表达式。substr(X,
7、Y,Z)返回表达式的一部分。randstr()quote(A)like(A,B)确定给定的字符串是否与指定的模式匹配。glob(A,B)条件判断函数coalesce(X,Y[,.])ifnull(X,Y)nullif(X,Y)集合函数avg(X)返回组中值的平均值。count(X)返回组中项目的数量。max(X)返回组中值的最大值。min(X)返回组中值的最小值。sum(X)返回表达式中所有值的和。其他函数typeof(X)返回数据的类型。last_insert_rowid()返回最后插入的数据的ID。sqlite_vers
8、ion(*)返回SQLite的版本。change_count()返回受上一语句影响的行数。last_statement_change_count()oh,还有就是看到有人说,好像成批插入的时候,启动事务,比不启动事务快n倍还有就是尽量使用参数化的SQL,估计和商用DB一样能够自动Prepa