SQLite Explorer

在浏览器中打开本地 SQLite 数据库:浏览表、视图和索引,运行 SQL 并导出结果,文件无需上传。

输入内容和文件始终留在浏览器中

数据库

将 SQLite 文件拖放到此处

.sqlite、.sqlite3、.db、.db3 或 .s3db,最大 512 MiB。

默认关闭:副本为只读。开启后,INSERT、UPDATE 和结构更改将作用于浏览器内存中的副本;原始文件永远不会被修改,你可以下载修改后的副本。

结构

数据库中没有表、视图、索引或触发器。

    文件保留在本设备上。SQLite 以 WebAssembly 形式在独立的 Web Worker 中运行;不会上传任何内容,也不会保存 SQL 文本或数据。

    SQL

    按 Ctrl 或 Cmd + Enter 运行。用分号分隔的多条语句按顺序执行;显示最后一条返回行的语句的结果。

    查询结果保存在临时表中,并按页读取。
    结果

    打开数据库、选择一张表或运行 SQL,即可在此查看行。

    本页内容

    SQLite Explorer 直接在浏览器中打开本地 SQLite 数据库。查看表、视图、索引和触发器,检查列和 CREATE 语句,分页浏览行并运行任意 SQL —— .db 文件永远不会被上传。

    详细功能

    编译为 WebAssembly 的官方 SQLite 版本在独立的 Web Worker 中运行,并且只在本页面加载。你选择的文件会被复制到 worker 内存中;默认情况下副本为只读,因此修改数据的语句会被拒绝,磁盘上的原始文件也不会被触碰。

    开启“允许修改内存中的副本”后,即可对副本执行 INSERT、UPDATE、DELETE 或结构更改,然后将其下载为新的数据库文件。不会向原始文件写回任何内容。

    包含多条语句的脚本按顺序执行。最后一条返回行的语句成为结果:SELECT、WITH 或 VALUES 查询会存入临时表(最多 1,000,000 行),由虚拟化表格按页读取;PRAGMA、EXPLAIN 和 RETURNING 的输出最多捕获 10,000 行。浏览表时会直接使用 LIMIT 和 OFFSET 读取。结果按块导出为 CSV、JSON、JSONL 或 SQL INSERT 语句。

    实用示例

    查看表: 在结构列表中点击一张表,即可查看其列、索引、外键和行。

    统计行数: “行数统计”示例会构建一个覆盖所有表的 UNION ALL 查询。

    检查文件: 运行 PRAGMA integrity_check;,校验从手机或应用中复制出来的数据库。

    在副本中修正数据: 开启修改,运行 UPDATE settings SET value = 'on' WHERE key = 'debug';,然后下载修改后的数据库。

    如何使用此工具

    1. 打开数据库

      拖放或选择 .sqlite、.db 或 .sqlite3 文件。随后会显示结构列表和文件信息。

    2. 浏览对象

      点击表或视图查看其行和结构;点击索引或触发器查看其定义。

    3. 运行 SQL

      选择一个示例或编写自己的查询,然后按 Ctrl 或 Cmd + Enter。

    4. 导出或保存

      将当前结果导出为 CSV、JSON、JSONL 或 INSERT 语句。在可写模式下,下载修改后的数据库。

    提示和最佳实践

    • 原始文件永远不会被修改,即使在可写模式下也是如此 —— 在你下载之前,更改只存在于内存副本中。
    • 如果数据库所属的应用使用 WAL 模式,请先关闭该应用或执行 checkpoint,让 -wal 中的内容写入主文件;本工具只读取主文件。
    • 无法打开加密的数据库(SQLCipher 等)。
    • 标识符请用双引号括起来:SELECT * FROM "order items"。
    • 取消会立即停止 worker 并重新打开文件,未保存的更改将被丢弃。
    • 大的 64 位整数保持精确:当 JavaScript 数字会对其舍入时,它们会以文本形式显示和导出。

    帮助决定下一步

    接下来应该改进什么?

    请选择一项建议。这些只是想法,并非承诺推出的功能。

    选择一个选项

    投票只会将所选选项作为匿名计数发送,不包含输入内容、文件数据、URL、Cookie 或标识符,也不会存储在此浏览器中。重新加载页面后可以再次投票。