android数据存储之Sqlite(一)

SQLite学习笔记

1、 Sqlite简介

 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有 ODBC接口,同样比起 Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

特点:轻量级、不需要"安装"、单一文件 、跨平台/可移植性、弱类型的字段、开源

2、sqlite的数据类型

(1)一般数据采用的固定的静态数据类型,而sqlite采用的是动态的数据类型,会根据存入值自动判断,sqlite具有以下的五种常见数据类型:

    Null:空值

   Integer:带符号的整型,具体取决于存入的数值的范围大小

     Real:浮点数字,存储8个byte的浮点数

   Text:字符串文本

   Blob:二进制对象

3、利用命令的方式操作sqlite数据库

需要配置一下android的环境变量,http://www.cnblogs.com/bluestorm/archive/2012/09/27/2706420.html

(1)     打开cmd,进入到f盘,执行sqlite3 mydb.db,创建一个mydb.db文件

 

(2)     创建一个t_student表,并插入一条数据

 

Sqlite中如果主键是integer类型的,但是没有设置为自增,那么再插入一条没有主键的数据时,它会查找到表中最大主键的值然后+1作为这个新插入数据的主键(sqlite中主键自增使用autoincrement关键字),如下:

 

(3)     更新t_student表中sid为2的数据

 

(4)     删除t_student表中sid为2的数据

 

(5)     order by语句进行排序,使用desc进行倒序排序

 

(6)     grouop by语句进行分组,根据sname进行分组

 

(7)     having语句对分组后的结果进行条件过滤,如下判断分组后数据个数大于1

 

(8)     limit语句分段取得数据,多用于分页操作, limit有两个参数,第一个是要取的数据的下标,从0开始,第二个参数是取得数据的个数, 如下取得t_student表中的第三条和第四条数据

 

以上涉及到的sql语句:

create table t_student(sid integer primary key autoincrement,sname varchar(20));

insert into t_student(sid,sname) values(1,'zhangsan');

select sid,sname from t_student;

update t_student set sname='lisi' where sid = 2;

delete from t_student where sid = 2;

select sid,sname from t_student order by sid desc;

select sid,sname,count(sname) from t_student group by sname ;

select sid,sname from t_student group by sname having count(sname) > 1;

select sid,sname from t_student limit 0,2;
原文地址:https://www.cnblogs.com/yby-blogs/p/4545159.html