适用于 Mac、iPhone和iPad 的 SQLite 客户端
从 Finder、拖放或 SSH 服务器打开数据库文件,使用应用内置 SQLite 查询,并通过执行前审查的重建脚本修改结构。
适用于 Mac、iPhone和iPadMac 应用内置驱动
概览
- 查询语言
- SQL
- 驱动
- 随 Mac 应用内置
- 连接方式
- 文件
- 内置引擎
- SQLite 3.53.4
- iPhone 和 iPad
- 可打开


打开数据库文件
在连接表单选择文件,或拖到 TablePro 窗口或 Dock 图标。不存在的文件路径会在连接时创建。无论文件名是什么,开头字节为 SQLite format 3 时便以 SQLite 打开。
Finder 会在 .db、.sqlite、.sqlite3 等文件的“打开方式”中列出 TablePro。Messages、Safari 历史等受 macOS 保护文件夹中的数据库,需要先授予完全磁盘访问权限,通常还需退出所属应用。
其他机器上的数据库通过 Remote File 面板 (英语)打开。On the Server 通过 SSH 对实时文件执行语句,主机除 python3 外无需安装任何内容。As a Read-Only Copy 经 SFTP 获取快照并只读打开。
可先选择 Help > Open Sample Database,打开应用附带的小型数字音乐商店示例 Chinook。
查询和编辑
驱动内置 SQLite,不论 macOS 版本,SQL 均在同一版本运行。EXPLAIN QUERY PLAN 绘制为图形。
可按列出顺序为每个连接加载 sqlite-vec、SpatiaLite 等扩展,其函数和虚拟表可用于编辑器、侧栏和 Structure 标签页。SQL 函数 load_extension() 仍被拒绝,通过同步、导入连接或链接传入的列表,在批准前不会加载任何扩展。
行编辑暂存至保存,Preview SQL 先显示所有语句。其他程序修改文件时,侧栏会自动重新加载。
结构
重命名表或列、添加或删除列,以及 SQLite 3.53 起添加或删除 CHECK,使用 ALTER TABLE 执行。列类型、外键等其他 Structure 标签页修改会重建表:TablePro 生成脚本,连同 rowid 复制行,恢复索引和触发器,仅在确认后运行。
修改列类型会按新的类型亲和性重新读取值,例如 INTEGER 列中 '007' 变成 7,执行前审查面板会说明。FTS5 等虚拟表无法重建,保存时会指明其名称。
可从侧栏查看和编辑触发器。
维护和备份
表维护运行 VACUUM、ANALYZE、REINDEX 和完整性检查,每项执行前均显示 SQL。Server Dashboard 显示文件大小、页数、页大小、日志模式和缓存大小。
Backup Dump 使用 sqlite3 将数据库写入 .sql 文件,Restore Dump 对数据库运行此类文件。
移动数据
导入 CSV、TSV、JSON、JSONL、XLSX和SQL 文件,或在 Data Files 窗口打开 CSV、JSON、XLSX 后从中导入。表和结果导出为 CSV、JSON、SQL、XLSX、Markdown、HTML和XML。
Copy To 将表和行移动到 PostgreSQL 服务器等其他连接,列出所有需要近似转换的列类型。另见将文件作为数据库处理。
iPhone 和 iPad
iPhone 和 iPad 应用创建连接时可选择 SQLite,应用直接连接。
iPhone 和 iPad 上可选择或创建数据库文件,也可从 Open Sample Database 打开 Chinook 示例。按卡片浏览表、筛选、编辑有主键的行,并在 Query 标签页运行 SQL。
限制
- 无法打开 SQLCipher、SEE 文件等加密数据库。请先解密文件。
- 无法添加、移除或移动主键。
- iPhone 和 iPad 上选择的文件会复制到应用中,编辑修改的是副本。
- 扩展只可在此 Mac 读取的文件上加载。SSH 服务器上打开的数据库无法加载,但其只读副本可以。
- 编辑器中 ATTACH 的文件可查询,但不会出现在侧边栏。
关于 SQLite 的问题
能打开加密的 SQLite 数据库吗?
不能。内置 SQLite 不接受密钥,因此 SQLCipher、SEE 文件无法打开。请先用 sqlcipher 工具解密文件。
使用哪个 SQLite 版本?
驱动内置 SQLite 3.53.4,不依赖 macOS 附带版本。
能打开应用的开发数据库吗?
可以。打开框架保存的文件,例如 Rails 的 db/development.sqlite3 或 Django 的 db.sqlite3。~/Library 下的文件,包括 iOS Simulator 容器,需要完全磁盘访问权限。
获取 TablePro
需要 macOS 13 Ventura 或更新版本