sqlite的使用

来源:互联网 发布:网络直播有哪些平台 编辑:程序博客网 时间:2024/04/27 01:14

最早使用SQLite是因为sql2005实在是重量了,我的老机器跑的咯吱咯吱了。
而且,Access用得不习惯--指的是.Net的访问。
后来Cnblogs搜索了一下,觉得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.