很多人对 SQLite 的印象只有一句话:

“轻量数据库,适合小项目。”

但说实话,这么理解它,太低估了。

SQLite 不是“玩具数据库”,
它是一个嵌入式数据库引擎,而且被广泛用于:

  • 手机系统
  • 浏览器
  • IoT 设备
  • 桌面应用
  • 本地缓存系统

很多时候,你不需要 MySQL,也不需要 PostgreSQL。

打开网易新闻 查看精彩图片

截图引用官网

一个 .db 文件就够了。

下面是几个我觉得被严重低估的用法。

1️⃣ 本地数据分析临时仓库

很多人做数据分析,流程是:

CSV → pandas → 内存操作

但当数据一大,内存就顶不住了。

这时候你完全可以:

SQLite3 data.db.mode csv.import data.csv table_name

然后直接:

SELECT col1, COUNT(*)FROM table_nameGROUP BY col1;

优点很明显:

  • 不用搭数据库服务
  • 不用开端口
  • 不用装一堆东西
  • SQL 直接跑

单文件数据库,非常适合临时数据分析。

尤其在服务器上做脚本处理时,比起连远程数据库,SQLite 更干净。

2️⃣ 应用级缓存层

很多项目上 Redis 只是为了:

  • 临时存储
  • 缓存接口结果
  • 存一些配置

但如果你是单机应用,完全可以用 SQLite。

优势:

  • 持久化天然存在
  • 无需单独部署
  • 支持事务
  • 查询能力远强于简单 KV

比如做一个本地 API 缓存:

CREATE TABLE cache (  key TEXT PRIMARY KEY,  value TEXT,  expired_at INTEGER);

小工具、小系统,够用而且稳定。

3️⃣ 本地日志分析工具

很多人用文本文件记日志,然后用 grep 查。

但当日志变复杂后,可以直接导入 SQLite。

CREATE TABLE logs (  level TEXT,  message TEXT,  created_at DATETIME);

然后:

SELECT level, COUNT(*)FROM logsGROUP BY level;

统计效率比扫文件高得多。

尤其在调试阶段,SQLite 是一个非常好的“临时日志仓库”。

4️⃣ 单机 Web 应用数据库

很多人做小 Web 项目时第一反应是:

“要不要上 MySQL?”

其实你可以先问自己:

  • 并发高吗?
  • 有多实例吗?
  • 要分布式吗?

如果答案都是“没有”,那 SQLite 完全够用。

很多现代框架都原生支持 SQLite:

  • Django
  • Flask
  • Laravel
  • Node ORM
  • Go ORM

单机部署 + Docker 容器,SQLite 特别适合。

甚至备份都简单:

cp data.db backup.db

结束。

5️⃣ 配置中心(轻量替代)

很多系统为了存配置:

  • 搭一个数据库
  • 或者写 JSON 文件

SQLite 其实是更优解。

你可以:

CREATE TABLE configs (  name TEXT PRIMARY KEY,  value TEXT);

支持:

  • 查询
  • 更新
  • 事务
  • 条件筛选

而且结构清晰,比散落 JSON 文件好维护。

6️⃣ 跨平台数据文件

SQLite 最大的优点:

数据库就是一个文件。

这意味着:

  • 可直接打包进应用
  • 可随应用发布
  • 可跨系统迁移
  • 不依赖数据库服务

在桌面工具开发、CLI 工具开发中,非常好用。

它什么时候不适合?

也要说清楚边界:

❌ 高并发写入
❌ 分布式部署
❌ 大规模数据(几十 GB 以上)
❌ 需要复杂权限体系

SQLite 是单机数据库,不是集群数据库。

一句话总结

SQLite 不是“小数据库”, 它是“单机场景下最优雅的数据库”。

很多项目上 MySQL,是因为“习惯”。

但在很多小系统里,SQLite 更简单、更干净、更省事。