什么是 SQLite

SQLite 是一个嵌入式关系型数据库。和 MySQL/PostgreSQL 不同,它不是一个独立运行的服务器进程,而是一个库文件(约 600KB),直接嵌入在你的应用程序中。整个数据库的所有表、索引、数据都被打包进单个 .db 或 .sqlite 文件

// SQLite 的"零配置"哲学
有 MySQL:安装 MySQL Server → 创建用户 → 配置权限 → 建库 → 连数据库
有 SQLite:有一个 .db 文件 → 用代码打开它 → 开始查询

// SQLite 无处不在
你的微信聊天记录  → MicroMsg.db(加密的 SQLite)
Chrome 浏览记录    → History(SQLite 文件)
iPhone 短信        → sms.db(SQLite)
Android App 本地存储 → app_data.db
Python 默认数据库  → sqlite3 内置模块

在线打开 SQLite 文件的步骤

  1. 打开 SQLite 本地查看器
  2. 将你的 .db 或 .sqlite 文件拖入页面,工具自动解析数据库结构并展示所有表名。
  3. 点击任意表名查看该表的数据(表格形式),支持翻页和搜索。
  4. 在 SQL 查询框中输入任意 SELECT 语句(支持 JOIN、GROUP BY 等),结果即时显示。
  5. 需要导出?点击「导出」将查询结果或整表下载为 CSV / JSON 格式。

所有数据库查询在浏览器本地内存中运行,借助 sql.js(SQLite → WebAssembly)实现,无需联网。

核心功能一览

表结构浏览

自动列出所有表,点击查看字段名、类型、是否可空等架构信息。

SQL 查询执行

完整支持 SELECT/JOIN/GROUP BY/子查询,结果实时表格显示。

数据导出

查询结果或整张表导出为 CSV 或 JSON,方便用 Excel 或代码处理。

纯本地运行

WebAssembly 在浏览器端运行 SQLite,文件不上传服务器。

SQLite vs MySQL:选哪个

维度SQLiteMySQL/PostgreSQL
架构嵌入式(无服务器)客户端-服务器
配置文件无,就是一个文件需要服务器安装和配置
并发支持单写入者(读可并发)多用户高并发
最佳场景移动 App、桌面软件、小型网站高并发 Web 应用、企业系统
数据量上限TB 级别(理论),通常 < 10GBPB 级别

常见应用场景

  • 分析应用数据:从手机备份中提取 SQLite 数据库文件,在线查看微信聊天记录、浏览器历史等(注意:部分应用数据库是加密的)。
  • 开发调试:App 本地存储的 SQLite 文件,开发阶段拖入查看器快速检查数据是否正确写入。
  • 数据分析:拿到的 .db 数据集文件,不装任何数据库工具直接在线执行 SQL 分析并导出结果。
  • 数据迁移:从 SQLite 导出表为 CSV/JSON → 导入 MySQL/PostgreSQL 或其他系统。

常见问题 FAQ

SQLite 和 MySQL 有什么区别?

SQLite 是嵌入式数据库——整个数据库就是一个 .db 文件,不需要安装数据库服务器,打开文件就能用。MySQL 是客户端-服务器架构,需要安装 MySQL Server、配置用户和权限。SQLite 适合移动 App、桌面软件、小型项目和数据分析;MySQL 适合高并发 Web 应用和多用户场景。

在线打开 SQLite 文件安全吗?数据会被上传吗?

速工具 使用 sql.js(SQLite C 源码编译到 WebAssembly)在浏览器本地运行,数据库文件完全在本地内存中解析和查询,不会经过网络。但如果你分析的是包含敏感数据(用户隐私等)的真实数据库,仍需注意浏览器安全——建议在隐身窗口中使用。

为什么我的 .db 文件打不开或提示格式错误?

可能原因:① .db 后缀被多种软件使用(Windows 注册表、游戏存档文件等),不一定是 SQLite 格式——用十六进制编辑器看文件头是否为 SQLite format 3(53 51 4C 69...);② 文件被加密(如微信聊天记录 MicroMsg.db),需解密密钥才能打开;③ 极旧的 SQLite2 文件与 SQLite3 不兼容。

能在线对 SQLite 数据库做增删改吗?

可以执行 INSERT/UPDATE/DELETE 语句,但修改只在此次浏览器会话中生效(数据在内存中),原始文件不会被改动。如果想保存修改后的数据库,点击「导出全部数据库」下载包含所有变更的新 .db 文件。此设计保护了原始文件不被意外修改。