- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLite简介 SQLite 是一个轻量级的、嵌入式的、关系型数据库,支持 SQL 语言,开源,可移植性好。 官网:/ SQLite 基本上符合 SQL-92 标准,和其他的主要 SQL 数据库没什么区别。它的优点就是高效,Android 运行时环境包含了完整的 SQLite。一般的数据库采用的是固定的静态数据类型,SQLite采用动态数据类型,创建一个表时,可以在 CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储,比如可以把一个字符串(String)放入 INTEGER 列。SQLite称这为“弱类型”。但有一个特例,如果是INTEGER PRIMARY KEY,则其他类型不会被转换,会报一个“datatype missmatch”的错误。 SQLite简介 SQLite 对事务的支持 在事务处理方面,SQLite通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一s时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程想数据库执行写操作之前,必须获得独占锁。在获得独占锁之后,其他的读或写操作将不会再发生 SQLite不支持的SQL标准 SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一个完整的 SQL 系统,拥有完整的触发器等。 数据库存储在 data/data/项目文件夹/databases/ 下 SQLite数据类型 基本数据类型 NULL 空值 INTEGER 带符号的整型 REAL 浮点型 TEXT 字符串文本 BLOB 二进制对象 但实际上,sqlite3也接受如下的数据类型: smallint 16 位元的整数。 interger 32 位元的整数。 decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 。 float 32位元的实数。 double 64位元的实数。 SQLite数据类型 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 包含了 年、月、日、时、分、秒、千分之一秒。 datetime 包含日期时间格式,必须写成2010-08-05不能写为2010-8-5,否则在读取时会产生错误 Android平台下数据库相关类 SQLiteOpenHelper 抽象类:通过从此类继承实现用户类,来提供数据库创建、打开、关闭等操作。 SQLiteDatabase 数据库访问类:执行对数据库的插入记录、查询记录等操作。 SQLiteCursor 查询结构操作类:用来访问查询结果中的记录 SQLiteOpenHelper类 Android提供了SQLiteOpenHelper帮助创建、管理数据库,在开发需要继承SQLiteOpenHelper类 SQLiteOpenHelper类的常用方法 getReadableDatabase():以只读方式打开数据库,应用于对数据的查询 getWritableDatabase():以只读写方式打开数据库,应用于对数据的添加、修改和删除 onCreate(SQLiteDatabase db):创建数据库时的回调函数 onOpen(SQLiteDatabase db):打开数据库时的回调函数 onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion):更新数据库时的回调函数 close():关闭数据库 创建数据库 SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,一般需要实现如下三
文档评论(0)