# SQLite
:一个关系型数据库,很轻量级。
- 官网 (opens new window)
- 采用 C 语言开发。
- 支持 SQL 操作,支持简单的 CRUD 功能,还支持 ACID 事务。
- 不需要安装或配置就可以直接使用,使用简便,占用的计算机资源少。
- 不是采用 C/S 架构,而是将 SQLite 引擎嵌入程序中,在代码中直接调用其 API 。
- 可以存储在文件中,也可以存储在内存中。
- 没有访问权限控制。只要用户能打开存储 SQLite 数据库的文件,就能读写数据库。
- 适用于嵌入式系统等简单的数据存储场景,是世界上使用量最大的一种数据库。
# 版本
- v1.0 :于 2000 年发布。最初是 D. Richard Hipp 为美国海军电脑系统设计的简单数据库。
- v2.0 :于 2001 年发布。
- v3.0 :于 2004 年发布。
# 管理单元
一个 SQLite 实例中只有一个数据库,其中可以创建多个数据表,每个数据表中可以存储多行数据。
例:创建数据表
CREATE TABLE "table1" (
"id" INTEGER PRIMARY KEY,
"name" text(100) NOT NULL
);
INSERT INTO "table1" VALUES(NULL, "one");
- 在 SQLite 中,声明为 INTEGER PRIMARY KEY 的字段会自动递增。如上,插入一行数据时,如果 id 字段为 NULL ,则 SQLite 会自动将该字段赋值为 max(id)+1 。
# 数据类型
SQLite 采用动态类型,插入数据时不会检查其数据类型,任何类型的数据一般都可以插入任何字段中。
常用的数据类型:
- NULL :空值
- INTEGER :带符号的整数
- REAL :浮点数
- TEXT :字符串,采用 utf-8 编码。
- BLOB :直接存储插入的数据,不做改变。