祈灵工具箱

🛢️SQLite 在线查询 - 打开 .db / .sqlite 文件跑 SQL

手上一个 .db 文件想看看里面有什么:装 DB Browser 太重,传到在线站又不敢——里面可能是聊天记录、账本,或者线上导出的数据。这里把官方 SQLite 编译成的 wasm 放进浏览器,整个库在内存里打开:表、视图、索引、行数一目了然,SQL 该怎么写就怎么写,改完把新库下载回去,磁盘上的原文件一个字节都没动。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用SQLite 查询

  1. 1选择 .db / .sqlite / .sqlite3 文件,或点「载入示例数据库」先试试
  2. 2左边点表名插入查询,或者自己写 SQL
  3. 3Ctrl/⌘ + Enter 运行,结果可导出 CSV / JSON
  4. 4跑过写操作的话,用「下载 .sqlite」拿改动后的新文件

常见问题

数据库会上传吗?
不会。SQLite 引擎是一个 670 KB 的 wasm,下载到浏览器里跑;文件用 FileReader 读进内存,没有任何请求把数据发出去。断网之后这个页面照样能用。
改了数据,磁盘上的文件会变吗?
不会。浏览器没有改写本地文件的权限,写操作改的是内存里的副本。页面会提示「数据库已改动」,点「下载 .sqlite」得到一个新文件,原文件留着当备份。
多大的库能打开?
整个库要读进内存,所以几百 MB 以内比较稳妥,再大就有标签页崩掉的风险(页面会提前提示)。超大库建议先用 sqlite3 命令行把需要的表导到一个小库里。
哪些 SQL 不能用?
sql.js 的默认编译没有开 FTS5 全文索引、R-Tree 和数学函数(sqrt、pow 这些),用到它们会报 no such module / no such function;FTS4 是有的。库里如果有 FTS5 虚拟表,那一张会标成「引擎不支持」,同一个库里的普通表照常查。
我的 .db 打不开?
先看文件开头是不是「SQLite format 3」。.db 这个后缀很多数据库都在用——Access、Realm、LevelDB 的 .db 和 SQLite 毫无关系,这里打不开。
和「CSV SQL 查询」有什么区别?
那个工具吃 CSV / JSON 文本,用站内自己写的 SQL 引擎,适合手上只有导出文件的场景;这个吃真正的 SQLite 文件,用的是真 SQLite,语法和线上数据库一致。