SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它。SQLite3占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。SQLite3能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,SQLite3的处理速度比他们都快。
SQLite3基本说明
SQLite3提供的是一些C函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准sql语句(以char *类型)给sqlite函数,SQLite3就会为你操作数据库。
SQLite3跟MS的access一样是文件型数据库,就是说,一个数据库就是一个文件,此数据库里可以建立很多的表,可以建立索引、触发器等等,但是,它实际上得到的就是一个文件。备份这个文件就备份了整个数据库。
SQLite3不需要任何数据库引擎,这意着如果你需要sqlite来保存一些用户数据,甚至都不需要安装数据库。
SQLite3命令(常用Sql语句)操作
创建表: createtable表名(元素名类型,…);
删除表: droptable表名;
插入数据: insertinto表名values(,,,);
创建索引: create[unique]index索引名on表名(col….);
删除索引: dropindex索引名(索引是不可更改的,想更改必须删除重新建)
删除数据: deletefrom表名;
更新数据: update表名set字段=’修改后的内容’where条件;
增加一个列: Altertable表名addcolumn字段数据类型;
选择查询: select字段(以”,”隔开)from表名where条件;
日期和时间:Selectdatetime('now')
日期: selectdate('now');
时间:selecttime('now');
总数:selectcount(*)fromtable1;
求和:selectsum(field1)fromtable1;
平均:selectavg(field1)fromtable1;
最大:selectmax(field1)fromtable1;
最小:selectmin(field1)fromtable1;
排序:select字段fromtable1orderby字段(desc或asc);(降序或升序)
分组:select字段fromtable1groupby字段,字段…;
限制输出:select字段fromtable1limitxoffsety;
SQLite3支持的数据类型
NULL 值为NULL
INTEGER值为带符号的整型,根据类别用1,2,3,4,6,8字节存储
REAL 值为浮点型,8字节存储
TEXT 值为text字符串,使用数据库编码(UTF-8,UTF-16BEorUTF-16-LE)存储
BLOB 值为二进制数据,具体看实际输入
但实际上,sqlite3也接受如下的数据类型:
smallint 16位元的整数
interger 32位元的整数
decimal(p,s)p精确值和s大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为p=5;s=0。
float 32位元的实数。
double 64位元的实数。
char(n) n长度的字串,n不能超过254。
varchar(n) 长度不固定且其最大长度为n的字串,n不能超过4000。
graphic(n) 和char(n)一样,不过其单位是两个字元double-bytes,n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n)可变长度且其最大长度为n的双字元字串,n不能超过2000。
date 包含了年份、月份、日期。
time 包含了小时、分钟、秒。
timestamp 包含了年、月、日、时、分、秒、千分之一秒。
如果将声明表的一列设置为INTEGERPRIMARYKEY,则具有:
1.每当你在该列上插入一NULL值时,NULL自动被转换为一个比该列中最大值大1的一个整数;
2.如果表是空的,将会是1;
算术函数
abs(X)返回给定数字表达式的绝对值。
max(X,Y[,...])返回表达式的最大值。
min(X,Y[,...])返回表达式的最小值。
random(*)返回随机数。
round(X[,Y])返回数字表达式并四舍五入为指定的长度或精度。
字符处理函数
length(X)返回给定字符串表达式的字符个数。
lower(X)将大写字符数据转换为小写字符数据后返回字符表达式。
upper(X)返回将小写字符数据转换为大写的字符表达式。
substr(X,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_version(*)返回SQLite的版本。
change_count()返回受上一语句影响的行数。
last_statement_change_count()
SQLite3更新日志:
1.修复BUG,新版体验更佳
2.更改了部分页面
华军小编推荐:
SQLite3,良心出品,保证性能,小编亲测,相信小编的童鞋可以试验一下!我华军软件园还有更多好用的软件.NET、云机管家、云机管家!