SQLite 是一个 轻量级、零配置、嵌入式的关系型数据库。它非常小巧但功能完整,被广泛用于移动端、桌面应用、嵌入式设备、浏览器、IoT、服务器软件等各种场景。

下面用简单清晰的方式介绍 SQLite。


SQLite 是什么?

SQLite 是一个 基于文件 的关系型数据库系统:

  • 不需要安装服务器

  • 所有数据都保存在一个普通文件中(.db / .sqlite)

  • 支持标准 SQL 语法

  • 线程安全、高性能、跨平台

  • 程序可以直接嵌入 SQLite 引擎,无需网络通信

它不像 MySQLPostgreSQL 那样是“守护进程型数据库”,而更像一个“数据库文件 + 操作库”,非常轻量。


SQLite 的特点(为什么这么流行)

1. 零配置,开箱即用

无需安装、无需启动服务、无需管理权限,复制数据库文件即可使用。

2. 单个文件保存所有数据

你可以简单地把数据库文件:

  • 打包

  • 备份

  • 复制到另一台设备

  • 放到 USB、移动硬盘等

非常便携。

3. 高性能

虽然轻量,但性能不弱:
在单机读写方面,有时甚至比 MySQL/PG 更快(没有网络 IO)。

4. 可靠性极高

SQLite 用在飞行器、手机系统、浏览器、智能家电等严苛环境,具备:

  • 事务支持(ACID)

  • 崩溃恢复机制

  • filesystem-independent

可靠性经过全球大量应用验证。

5. 广泛应用

几乎每个设备都用 SQLite:

  • Android / iOS 内部数据库

  • Chrome、Firefox 浏览器

  • 微信 / QQ 的本地消息记录

  • Photoshop / Office 配置缓存

  • 嵌入式系统、智能柜、无人机

全世界每天有数十亿次 SQLite 的部署和读写操作。


SQLite 的核心技术点

1. 标准 SQL 支持

支持大部分 SQL92/SQL99,包括:

  • SELECT、INSERT、UPDATE、DELETE

  • JOIN(支持左外连接)

  • 事务(BEGIN/COMMIT)

  • 视图、触发器

  • 索引、唯一约束、外键(需要开启)

2. 数据类型系统(灵活)

SQLite 使用 动态类型系统

SQLite 并非严格强类型,而是:

  • 列可以声明类型,但并不强制存储类型

  • 一个列声明 INT,也可以存 TEXT(不推荐,但 SQLite 允许)

这种设计使 SQLite 更灵活,也能减少 schema 变更麻烦。

3. 并发模型

SQLite 使用 写锁定 机制:

  • 读并发高:多个读同时进行

  • 写只能单个进行:但写非常快,通常问题不大
    (也可以使用 WAL 模式改善写性能)


适用场景

✓ 非常适合

  • 移动 APP 本地数据库

  • 桌面应用本地保存数据

  • 中小规模网站的数据缓存

  • 单机工具/脚本

  • 嵌入式设备(IoT、智能硬件)

  • 临时数据库、测试用数据库

  • 只需一个文件的高可靠数据存储

✗ 不适合

大规模并发写、需要多台服务器共享的大型项目,比如:

  • 高并发网站后台

  • 金融交易系统

  • 分布式数据库需求

此时应使用 MySQL、PostgreSQL 等。


✅ 简单示例

创建数据库并建表

CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
);

插入数据

INSERT INTO users (name, age) VALUES ('Alice', 20);

查询数据

SELECT * FROM users WHERE age > 18;

修改数据

UPDATE users SET age = 21 WHERE id = 1;

删除数据

DELETE FROM users WHERE id = 1;

sqlite详细介绍
标签: