首页 理论教育 SQLite编程详解:全面掌握SQL Lite编程

SQLite编程详解:全面掌握SQL Lite编程

时间:2023-06-15 理论教育 版权反馈
【摘要】:SQLite简介Android操作系统中内置了SQLite数据库,它属于轻量级、嵌入式的关系型数据库,目前已经在iPhone、Android等手机系统中使用。SQLite可移植性相对较好,较容易使用,且具有轻小、高效、安全可靠等特性。图13-15 SQLite结构图SQLite由以下几个组件组成:SQL编译器、内核、后端以及附件。SQLite称这一数据类型为“弱类型”。下面详细讲解Android SQLite创建数据库,添加数据和查询数据库的过程。3)SQLite删除指定数据库。4)SQLite执行SQL命令。

SQLite编程详解:全面掌握SQL Lite编程

(1)SQLite简介

Android操作系统中内置了SQLite数据库,它属于轻量级嵌入式的关系型数据库,目前已经在iPhone、Android等手机系统中使用。SQLite可移植性相对较好,较容易使用,且具有轻小、高效、安全可靠等特性。其结构如图13-5所示。

978-7-111-37968-3-Chapter13-28.jpg

图13-15 SQLite结构图

SQLite由以下几个组件组成:SQL编译器、内核、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE)使调试、修改和扩展SQLite的内核变得更加方便。SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个关系型数据库(RDBMS),但在进程内部,它却是完整的,有自包含的数据库引擎。

SQLite基本上符合SQL-92标准,和其他主流的SQL数据库没有什么区别。它的优点就是高效,是一个完整的SQL系统,拥有完整的触发器交易等功能。它和其他数据库最大的不同是:对数据类型的支持。当创建一个表时,可以在CREATE TABLE语句中指定某列的数据类型,但是可以把任何数据类型放入任何列中;当某个值插入数据库时,SQLite将检查到该值的类型。如果该类型与关联的列不匹配,则SQLite会尝试将该值转换成该列的类型;如果不能转换,则该值将作为其本身具有的类型存储。SQLite称这一数据类型为“弱类型”(ManifestTyping)。此外,SQLite不支持一些标准的SQL功能,特别是外键约束(FOREIGN KEY constrains)、嵌套TRANSCACTION、RIGHT OUTER JOIN、FULL OUTER JOIN以及ALTER TABLE等功能。

(2)Android SQLite

Android在运行时(Run-Time)集成了SQLite,所以每个Android应用程序都可以使用SQLite数据库。对于熟悉SQL的开发人员来说,在Android开发中使用SQLite相当简单。但是,由于JDBC会消耗太多的系统资源,所以JDBC对于手机这种内存限制较大的设备来说并不合适。因此,Android提供了一些新的API来使用SQLite数据库。在Android中建数据库,数据库保存的具体位置是在DDMS中的FileExplorer中的“data/data/<项目文件夹>/databases/”下。

下面详细讲解Android SQLite创建数据库,添加数据和查询数据库的过程。

1)SQLite创建数据库。

978-7-111-37968-3-Chapter13-29.jpg

如果创建不成功则抛出FileNotFoundException异常。

2)SQLite关闭数据库。

978-7-111-37968-3-Chapter13-30.jpg

3)SQLite删除指定数据库。

978-7-111-37968-3-Chapter13-31.jpg

4)SQLite执行SQL命令。

978-7-111-37968-3-Chapter13-32.jpg(www.xing528.com)

下面通过一个示例巩固Android SQLite的具体用法,示例的主要功能包括创建数据库、删除数据库、创建表、删除表以及对数据进行增删改查的操作等。示例代码运行结果如图13-16所示。

首先,介绍如何通过xml布局实现界面效果,如代码清单13-8所示。

978-7-111-37968-3-Chapter13-33.jpg

图13-16 SQLite存储示例代码运行结果

代码清单13-8 SQLite存储示例(第13章\Demo_13_03)main.xml

978-7-111-37968-3-Chapter13-34.jpg

978-7-111-37968-3-Chapter13-35.jpg

978-7-111-37968-3-Chapter13-36.jpg

其次,介绍Activity java代码如何配合布局实现SQLite存储过程,如代码清单13-9所示。

代码清单13-9 SQLite存储示例(第13章\Demo_13_03)MainActivity.java

978-7-111-37968-3-Chapter13-37.jpg

978-7-111-37968-3-Chapter13-38.jpg

978-7-111-37968-3-Chapter13-39.jpg

978-7-111-37968-3-Chapter13-40.jpg

978-7-111-37968-3-Chapter13-41.jpg

978-7-111-37968-3-Chapter13-42.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈