SQLite嵌入式数据库中的王者 嵌入式SQLite数据结构SQLOracle
1、从http://www.sqlite.org/下载SQLite 3.3.X
2、常用的命令
为了方便,我把它解压了,就一个SQLite3.exe,加入path。
Cmd 进入命令行
1)
创建数据库文件:
>SQLite3 configdb 回车
就生成了一个configdb在目录下
这样同时也SQLite3挂上了这个数据库
2)
用.help可以看看有什么命令
>.help 回车即可
3)可以在这里直接输入SQL语句创建表格 用;结束,然后回车就可以看到了
4)看看有创建了多少表
>.tables
5)看表结构
>.schema 表名
6)看看目前挂的数据库
>.database
7)如果要把查询输出到文件
>.output c:/a.txt
> 查询语句;
查询结果就输出到了文件c:\a.txt
把查询结果用屏幕输出
>.output stdout
类似与oracle里面的spool c:/a.txt
spool off
8)把表结构输出,同时索引也会输出
.dump 表名
9)如有SQL文件脚本则可以通过这种方式执行
.read FILENAME
10)展示已有的参数
.show
如果什么也没有显示就先.output stdout
11)只显示匹配的表名
.tables ?PATTERN?
.tables tb_s 只显示tb_s开头的表格名字
12)退出
>.exit 或者.quit
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 数据库是开源的,用C编写具有跨平台的特性,如果有喜欢嵌入式开发的朋友一定不要错过,否则后后悔的,早起的鸟有虫吃啊。
上一篇: java中Servlet处理乱码的方法