前言
SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目,设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在Android、iOS等移动操作系统中的数据库实现也是使用的SQLite3。对于Android开发者来说数据库并不算很好维护,所以深入了解SQLite数据库也变得很有必要,本文就来先介绍下SQLite3。
1.SQLite3简单介绍
SQLite并不是一个独立的进程,而是作为程序的一部分,应用程序经由编程语言内的API直接调用SQLite,这能有效的减少数据库访问的延迟,因为在一个进程中调用函数要比跨进程通信更有效率。SQLite将整个数据库作为一个单独的、可跨平台的文件存储再主机中,它采用了再写入数据时将整个数据库文件加锁的简单的设计,尽管写操作只能串行进行,但SQLite的读操作可以多任务同时进行。
程序库实现了多数的SQL-92标准,包括事务以及实现原子性、一致性、隔离性和持久性,但它缺失了某些特性,例如它仅部分支持触发器: 支持 FOR EACH ROW 触发器,但不支持 FOR EACH STATEMENT 触发器。尽管它支持大多数复杂查询,但它的ALTER TABLE 功能有所限制:只能添加和重命名列,不能修改或者删除列。因此,当需要修改或者删除列名时只能重新创建表。
2. 为什么要用 SQLite
- 不需要一个单独的服务器进程或操作的系统(无服务器的);<