Asp.net源码交流论坛 Asp.net交流讨论区Asp.net技术文章SQLite简单教程

1  /  1  页    1  跳转
发表新主题 回复该主题

标题: SQLite简单教程

身份:董事长

 
  • UID:2
  • 来自:北京
  • 精华:27
  • 积分:1696
  • 帖子:1507
  • 注册: 2007-05-17
  • 状态: 离线
  • 威望:54.00
  • 金钱:268.95 元
 
源码发布专家

SQLite简单教程

最早使用SQLite是因为sql2005实在是重量了,我的老机器跑的咯吱咯吱了。
而且,Access用得不习惯--指的是.Net的访问。
后来51aspx搜索了一下,觉得SQLite不错,因为我的框架本身没有使用存储过程。
废话不多说,言归正传。
1。从www.sqlite.org下载SQLite 3.3.4的版本
  为了方便,我把它解压了,就一个SQLite3.exe,放入Windows目录下。
  Cmd 进入命令行
  1)
  创建数据库文件:
  >SQLite3 d:\test.db 回车
  就生成了一个test.db在d盘。
  这样同时也SQLite3挂上了这个test.db
  2)
  用.help可以看看有什么命令
  >.help 回车即可
  3)可以在这里直接输入SQL语句创建表格 用;结束,然后回车就可以看到了
  4)看看有创建了多少表
  >.tables
  5)看表结构
  >.schema 表名
  6)看看目前挂的数据库
  >.database
  7)如果要把查询输出到文件
  >.output 文件名
  > 查询语句;
  查询结果就输出到了文件c:\query.txt
  把查询结果用屏幕输出
  >.output stdout

  8)把表结构输出,同时索引也会输出
    .dump 表名
  9)退出
  >.exit 或者.quit

2。从http://sqlite.phxsoftware.com/下载Ado.net驱动。
  下载了安装,在安装目录中存在System.Data.SQLite.dll
    我们只需要拷贝这个文件到引用目录,并添加引用即可对SQLite数据库操作了
  所有的Ado.net对象都是以SQLite开头的,比如SQLiteConnection
  连接串只需要如下方式
  Data Source=d:\test.db 或者DataSource=test.db--应用在和应用程序或者.net能够自动找到的目录
  剩下的就很简单了~~

3。SQL语法
  由于以前用SQLServer或者ISeries,所以DDL的语法很汗颜
  1)创建一个单个Primary Key的table
  CREATE TABLE  [Admin] (

[UserName] [nvarchar] (20)  PRIMARY KEY NOT NULL ,
[Password] [nvarchar] (50)  NOT NULL ,
[Rank] [smallint] NOT NULL ,
[MailServer] [nvarchar] (50)  NOT NULL ,
[MailUser] [nvarchar] (50)  NOT NULL ,
[MailPassword] [nvarchar] (50)  NOT NULL ,
[Mail] [nvarchar] (50)  NOT NULL
  ) ;


2)创建一个多个Primary Key的table

  CREATE TABLE  [CodeDetail] (
[CdType] [nvarchar] (10)  NOT NULL ,
[CdCode] [nvarchar] (20)  NOT NULL ,
[CdString1] [ntext]  NOT NULL ,
[CdString2] [ntext]  NOT NULL ,
[CdString3] [ntext]  NOT NULL,
  PRIMARY KEY (CdType,CdCode)
       
  ) ;


3)创建索引

CREATE  INDEX [IX_Account] ON  [Account]([IsCheck], [UserName]);


还可以视图等等。

4.还有很有用的SQL

  Select * from Sqlite_master
  Select datetime('now')
  Select date('now')
  Select time('now')


以及很多函数,具体可以参考SQLite的wiki.
oh,还有就是看到有人说,好像成批插入的时候,启动事务,比不启动事务快n倍
还有就是尽量使用参数化的SQL,估计和商用DB一样能够自动Prepare.

===========
sqlite可以在shell/dos command底下直接执行命令:
sqlite3 film.db "select * from film;"
输出 HTML 表格:
sqlite3 -html film.db "select * from film;"
将数据库「倒出来」:
sqlite3 film.db ".dump" > output.sql
利用输出的资料,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库备份了):
sqlite3 film.db < output.sql
在大量插入资料时,你可能会需要先打这个指令:
begin;
插入完资料后要记得打这个指令,资料才会写进数据库中:
commit;
;
 
技术问题请直接发布到论坛,合作及咨询请加技术支持QQ:793095132
问题搜索请点击
引用 回复
 
1  /  1  页    1  跳转
发表新主题 回复该主题

现在时间是:2009-01-08 01:55:41 京ICP备06046876号