一、SQLite数据库概述
1、SQLite构成
- SQLite由SQL编译器、内核、后端以及附件几个附件几个部分构成。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使得调试、修改和扩展SQLite的内核变得更加方便,所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。
2、SQLite数据类型
- 概括来讲,SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,分别代表空值、整型值、浮点值、字符串文本、二进制对象。
类型 |
说明 |
NULL |
空值 |
INTEGER |
整型值 |
REAL |
浮点值 |
TEXT |
字符串文本 |
BLOB |
二进制对象[Binary Large Object |
|
|
3、SQLite数据库特点
- 值得一提的是,袖珍型的SQLite竟然可以支持高达2TB大小的数据库,每个数据库都是以单个文件的形式存在,这些数据都是以B-Tree的数据结构形式存储在磁盘上。
- 在事务处理方面,SQLite通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程想数据库执行写操作之前,必须获得独占锁。在获得独占锁之后,其他的读或写操作将不会再发生。
- SQLite采用动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储,SQLite称这为“弱类型”。但有一个特例,如果是INTEGER PRIMARY KEY,则其他类型不会被转换,会报一个“datatype missmatch”的错误。
- ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。
二、实现步骤
1、创建安卓应用【CreateDeleteDB】
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f6e348fb01a44e096e8cac27ad58d5d.png)
2、将背景图片拷贝到drawable目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/64773f79e7c24c71aad6490c8dbfdfeb.png)
3、字符串资源文件
- 字符串资源文件 -
string.xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/d5453a28077343da838fb5972c78901c.png)
<resources>
<string name="app_name">创建和删除数据库</string>
<string name="create_db">创建数据库</string>
<string name