首页 › weekly › 8个SQL神器,把数据库玩明白

8个SQL神器,把数据库玩明白

概述

前三期我们把自托管、数据备份、终端工具都翻了个遍,这期换个打法:不聊数据库内核、不聊备份容灾,只聊“怎么把数据库用爽”。围绕一条 SQL 工作流,从画架构图、桌面查数、浏览器里嵌一个 Postgres,到改表不停机、命令行一把梭——8 个仓库 8 个方向,几乎不重叠。其中 tern 和 dblab 是千级以下的小而美,体量不大但刀刃极薄。文中 Star 均为撰写时量级约数,实时数据以 GitHub 页面为准。


1. ChartDB | 万级 | 活跃迭代

chartdb/chartdb ⭐⭐⭐

一句话定位:把老数据库“贴”成一张好看的 ER 图。

接手祖传系统最痛的不是写代码,是没人知道库里到底有什么表、外键怎么绕。ChartDB 解决的就是这件事:不用安装客户端连库,把建表 DDL 粘贴进去,秒出一张可拖拽、可导出的数据库关系图。它还有一手“Smart Query",针对 MySQL、Postgres、SQLite、SQL Server、ClickHouse 等不同方言,自动执行一条内置查询把 schema 拉出来,连粘 DDL 都省了。

架构上是纯前端的 React/TypeScript 应用,支持 Docker 自托管,本地运行不需要注册账号,schema 数据不出内网——这一点对银行、政企客户极其友好。图不仅能看,还能反向导出成目标方言的 DDL,等于顺手做了个建模工具。

上手难度:⭐⭐(npm/Docker 起一个就能用)

适用人群:接手遗留系统的工程师、做数据架构评审和方案汇报的人。变现思路:私有化部署 + 团队协作版,或者打包成咨询公司的“数据资产盘点”交付件。


2. Beekeeper Studio | 万级 | 活跃迭代

beekeeper-studio/beekeeper-studio ⭐⭐⭐

一句话定位:颜值和体验都在线的跨平台 SQL 桌面客户端。

DBeaver 功能全但界面像 2010 年,Navicat 好用但收费。Beekeeper Studio 卡在中间生态位:Electron + Vue 构建,Windows/macOS/Linux 三端一致,连接 MySQL、Postgres、SQLite、SQL Server、MariaDB 等主流库,带自动补全的标签页编辑器、保存查询、连接历史、数据导出一应俱全。

它更值得独立开发者研究的是商业模式:核心开源,付费版卖高级功能(如多云同步连接配置),养活了一个全职团队——这是“开源核心 + 商业增强”路线跑通的活案例。

上手难度:⭐⭐(下载安装包即用)

适用人群:所有天天查库的后端、数据分析、运营同学。二开方向:公司内部可以基于它定制审计插件,所有查询留痕,替代昂贵的数据库审计网关。


3. PGlite | 万级 | 活跃迭代

electric-sql/pglite ⭐⭐⭐⭐

一句话定位:把整个 Postgres 塞进浏览器标签页。

PGlite 是 ElectricSQL 团队把真正的 Postgres 编译成 WASM 的产物:一个约 3MB 的文件,在浏览器、Node、Deno、Bun 里直接 new PGlite() 就有一个完整的 Postgres 可用,数据可持久化到 IndexedDB。它不是 SQLite 那样的“类 SQL”,是真 PG 语法、真扩展——连 pgvector 都能在里面跑,浏览器里做向量检索、跑 RAG demo 全都成立。

这正是“本地优先 + AI 应用”浪潮缺的那块底座:应用离线可用、数据在用户手里、代码零后端起步。配合 ElectricSQL 的同步方案,还能把本地库和云端真库做增量同步。

上手难度:⭐⭐⭐(前端开发者半天上手,运维同学需要转变心智)

适用人群:做离线应用、本地 AI 工具、教学 demo 的开发者。商业潜力:本期最高——边缘计算、嵌入式分析、私有化 AI 笔记类产品都可以用它重构架构。


4. pgroll | 数千 | 活跃迭代

xataio/pgroll ⭐⭐⭐⭐

一句话定位:让“改表结构”不再锁库停机的 Postgres 迁移引擎。

业务量上去之后,给亿级大表加个字段都是事故高发区。pgroll 把业界口口相传的 expand/contract 迁移方法论做成了工具:每次变更分阶段执行——先加新列并后台批量回填,通过视图同时暴露新旧两个版本的 schema,让新旧两版应用并行在线,确认无误后再收缩清理旧列。全程不锁表、可暂停、可软回滚。

它是 Xata 团队用 Go 写的单二进制,迁移文件用 YAML 描述,可进代码评审、可进 CI 流水线,天然贴合 GitOps 工作流。

上手难度:⭐⭐⭐⭐(需要理解视图切换机制,但文档讲得很透)

适用人群:SaaS 团队、7×24 业务的 DBA 和平台工程组。二开方向:封装成公司内部的“改表审批平台”,配合工单系统就是一套数据库变更管控产品。


5. tern | 数百 | 稳定维护

jackc/tern ⭐⭐⭐

一句话定位:小到极致的 SQL 迁移工具,pgx 作者的顺手之作。

本期第一个“千星以下”小而美。作者 jackc 是 Go 生态事实标准的 Postgres 驱动 pgx 的作者,tern 就是他自己造的迁移轮子:迁移就是普通 .sql 文件,文件头用一段注释声明版本描述,tern migrate 一条命令按序执行,一张表记录当前版本,没了。没有 DSL、没有 GUI、没有学习成本,还支持 Go 模板语法给迁移传参。

和 pgroll 放在一起看非常有意思:一个是把迁移做成分布式系统工程的重武器,一个是“我就想要个 up/down 脚本管理器”的瑞士小刀。中型项目用 tern 完全够了——工具复杂度应该匹配业务复杂度,而不是反过来。

上手难度:⭐⭐(十分钟读完 README 即可上生产)

适用人群:Go 后端、个人项目、讨厌 ORM 迁移 DSL 的 SQL 原教旨主义者。二开方向:给 tern 包一层 Web 面板,就是小团队的迁移管理台。


6. usql | 近万 | 长期维护

xo/usql ⭐⭐⭐

一句话定位:数据库世界的“万能充电头”,一个二进制连所有库。

服务器上只有 psql 但你要连 MySQL?跳板机没有客户端?usql 把 psql 的交互体验(\dt、\d 这套斜杠命令)带到了几十种数据库上:Postgres、MySQL、SQLite、SQL Server、Oracle、ClickHouse……全部由 Go 驱动编译进单个二进制,usql pg://user:pass@host/db 直接开聊。写运维脚本时尤其香:一份 bash 脚本通吃异构数据源,不用为每种库装一套客户端。

它出自 Go 代码生成领域的老牌作者 ken thompson……不对,是 kenshaw(Xo 项目作者),代码质量和驱动覆盖都经过多年打磨。

上手难度:⭐⭐⭐(熟悉 psql 的几乎零成本)

适用人群:运维、SRE、手里管着七八种数据库的后台工程师。二开方向:打进公司统一跳板机镜像,作为标准运维组件分发。


7. Harlequin | 数千 | 活跃迭代

tconbeer/harlequin ⭐⭐⭐

一句话定位:终端里的 SQL IDE,好看得不像命令行工具。

Harlequin 用 Python 的 Textual 框架搭了个全键盘操作的 TUI:左边数据库目录树,右上查询编辑器,下方结果表格,还能开多个查询结果页签。内置 DuckDB 和 SQLite 适配器,装个 extra 就能连 Postgres、MySQL。uvx harlequin 一条命令启动,配合 DuckDB 直接查询本地 CSV/Parquet 文件,数据分析师不写 Python 也能玩转文件数据。

它是“终端复兴”浪潮里的代表性应用——证明了 TUI 不只是极客情怀,在 SSH 远程开发、低配服务器这些场景里,比 Electron 客户端实用得多。

上手难度:⭐⭐(pip 装完即用,快捷键要记半天)

适用人群:分析师、DuckDB 用户、终端原教旨主义者。二开方向:写自定义 adapter 接内部数据仓库,做一套公司标准的终端取数工具。


8. dblab | 千级 | 持续维护

danvergara/dblab ⭐⭐⭐

一句话定位:本期第二个小而美——只为“快速瞄一眼线上表”而生的终端客户端。

dblab 的哲学是快:单个 Go 二进制,go install 完事,启动直接列出库里的表,方向键浏览结构、回车看数据、随手执行 SQL,全程不碰鼠标。对比动辄几百 MB 的桌面客户端,它和 Harlequin 走的是同一终端路线,但砍掉了 IDE 的一切野心,只留“浏览+查询”这一个动作,所以冷启动几乎零负担。支持 Postgres、MySQL、SQLite,连 SSH 隧道和 Docker 容器场景都考虑到了。

Star 数长期在千级徘徊,但 issue 区响应积极,是那种“用上就回不去”的典型。

上手难度:⭐⭐

适用人群:经常 SSH 到生产服务器救火的工程师。二开方向:定制成只读版本,发放给需要查数但不应有写权限的业务同事。


本期横向对比

仓库 方向 Star 量级* 上手难度 一句话场景
ChartDB 可视化建模 万级 ⭐⭐ 老库秒出 ER 图
Beekeeper Studio 桌面客户端 万级 ⭐⭐ 日常查数主力
PGlite 嵌入式 WASM 万级 ⭐⭐⭐⭐ 浏览器里跑真 Postgres
pgroll 零停机迁移 数千 ⭐⭐⭐⭐ 大表改结构不停机
tern 极简迁移 数百 ⭐⭐ 小项目的版本管理
usql 通用 CLI 近万 ⭐⭐⭐ 一个二进制连所有库
Harlequin 终端 IDE 数千 ⭐⭐ 终端里写 SQL 分析
dblab 轻量 TUI 千级 ⭐⭐ SSH 救火快速查表

*Star 为撰写时量级约数,以仓库页面实时数据为准。

按场景选型

flowchart TD
    A["我该用哪个"] --> B["画架构图"]
    A --> C["日常查数"]
    A --> D["做本地优先应用"]
    A --> E["大表改结构"]
    A --> F["远程救火"]
    B --> B1["ChartDB"]
    C --> C1["Beekeeper Studio"]
    D --> D1["PGlite"]
    E --> E1["pgroll 或 tern"]
    F --> F1["Harlequin 或 dblab"]

全家福

mindmap
  root((SQL 工具箱))
    可视化
      ChartDB
      Beekeeper Studio
    嵌入式
      PGlite
    迁移
      pgroll 零停机
      tern 极简
    终端
      usql 万能连接
      Harlequin TUI IDE
      dblab 快速查表

本期之最

参考来源

  1. chartdb/chartdb - GitHub — ChartDB 仓库主页,DDL 可视化与 Smart Query 功能说明
  2. electric-sql/pglite - GitHub — PGlite 仓库主页,WASM Postgres 与扩展支持说明
  3. xataio/pgroll - GitHub — pgroll 仓库主页,expand/contract 零停机迁移机制文档
  4. jackc/tern - GitHub — tern 仓库主页,作者为 Go Postgres 驱动 pgx 作者
  5. xo/usql - GitHub — usql 仓库主页,通用 SQL 命令行客户端与数据库支持列表
  6. tconbeer/harlequin - GitHub — Harlequin 仓库主页,终端 SQL IDE 与适配器说明
  7. danvergara/dblab - GitHub — dblab 仓库主页,轻量终端数据库客户端
  8. beekeeper-studio/beekeeper-studio - GitHub — Beekeeper Studio 仓库主页,跨平台 SQL 客户端

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入