SQLite数据库存储介绍。

SQLite定义
并本像Oracle、MySQL数据库那样需要安装启动服务器进程,SQLite数据库只是一个文件。

SQLite数据类型
一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下几种常用的数据类型:

  • NULL: 这个值为空值
  • VARCHAR(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000。
  • CHAR(n):长度固定为n的字串,n不能超过 254。
  • INTEGER: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8.
  • REAL: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号.
  • TEXT: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE).
  • BLOB: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改  变格式。
  • DATA :包含了 年份、月份、日期。
  • TIME: 包含了 小时、分钟、秒。

SQLiteDatabase的介绍
SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。

image.png

Cursor
Cursor是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等
查询方法返回的都是一个Cursor对象

image.png

SQLiteOpenHelper
该类是 SQLiteDatabase一个辅助类,这个类主要生成一个数据库,并对数据库版本进行管理
SQLiteOpenHelper是一个抽象类,通常要继承它,并实现里面的3个函数:

  1. onCreate(SQLiteDatabase)

在数据库第一次生成的时候会调用这个方法,也就是说,只有在创建数据库的时候才会调用,当然也有一些其它的情况,一般我们在这个方法里边生成数据库表。

  1. onUpgrade(SQLiteDatabase,int,int)
    当数据库需要升级的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据表,并建立新的数据表,当然是否还需要做其他的操作,完全取决于应用的需求。
  2. onOpen(SQLiteDatabase):

这是当打开数据库时的回调函数,一般在程序中不是很常使用。