SQLlite简单教程

前端之家收集整理的这篇文章主要介绍了SQLlite简单教程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最早使用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.

===========

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;

猜你在找的Sqlite相关文章