SQLite内部只支持NULL,INTEGER,REAL(浮点数),TEXT(字符串文本)和BLOB(二进制对象) 5种。但是实际上,SQLite也接受varchar(n),char(n),decimal(p,s)等数据类型,只不过运算或保存时候会转换成上面对应的数据类型。
SQLite最大的特点是可以把各种类型的数据保存到任何字段种,而不用关心字段声明的数据类型是什么。不过,有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数,当向这种字段保存除了整数以外的数据时候,SQLite会产生错误。
由于SQLite允许存入数据时忽略底层数据列实例的数据类型,因此SQLite在解析建表语句时,会忽略建表语句种跟在字段名后面的数据类型信息,如下面语句将会忽略name字段的类型信息:create table person_tb(id interger primary key autoncrement,name varchar(20)),因此在编写建表语句的时候省略数据列后面的类型声明。
SQLite允许实用SQL语句操作数据库中的数据,但SQLite数据库不需要安装、启动服务进程,其底层只是一个数据库文件。本质上看,SQLite数据库的操作方式只是一种更为便捷的文件操作。常见的SQL标准语句示例如下:
查询语句: select from表明 where条件子句group by分组子句 having…by排序子句
select * from person //查询person表中的所有记录
select * from person order by id desc //按id降序排列
分页SQL: select * from 表名 limit 显示的记录数 offset 跳过的记录数
select * from person limit 5 offset 3
或select * from person limit 3,5
//从person表中获取5条记录,跳过前面的3条记录
插入语句: insert into 表名(字段列表)values(值列表)
insert into person(name,age) values('张三',26)
更新语句: updata 表名 set 字段名=值 where条件语句
updata person set name='李四' where id=10
//将id=10的记录中的name项修改为李四
删除语句: delete from 表名 where 条件子句
delete from person where id=10
SQLite的几个常用函数,看我的另外一篇文章: http://blog.csdn.net/qq_31718279/article/details/55050020
SQLite类实例(DatabaseHelper类): http://blog.csdn.net/qq_31718279/article/details/55049855
SQLite完整APP实例(备忘录):