大家好,我是爱挖宝、爱折腾的 挖宝小周!
这周末我又在 GitHub 上通宵“冲浪”了。作为一个坚定的 Gopher,我每次看到用 Go 写的 CLI 和 TUI 工具都会忍不住 git clone 下来复现一下。不得不说,Go 语言在命令行工具开发上简直是降维打击 —— 零依赖、跨平台、单二进制文件、内存占用极低。
平常我们要查个库,动不动就得打开几十上百兆内存的桌面客户端(比如 DBeaver、Navicat 甚至 DataGrip),对于一些轻量调试、远程 SSH 或者配置较低的机器来说,实在太“重”了。
今天小周就给大家盘点 3 款我最近私藏、用 Go 编写的极简数据库终端管理神器,带你感受一下键盘流飞速查库的快乐!
1. Lazysql:像玩 LazyGit 一样优雅地管理数据库
如果你和小周一样是 lazygit 的重度依赖者,那你看到这款工具一定会两眼放光!
- GitHub 仓库:
https://github.com/jorgerojas26/lazysql - Star 走势:目前已经突破 3.5k Star,最近几个月曲线相当陡峭,社区活跃度非常高!
lazysql 是一个纯 Go 编写的数据库终端 UI(TUI)客户端,支持 SQLite、MySQL 和 PostgreSQL。它的交互逻辑完全借鉴了 Lazygit,极度丝滑。
💻 安装与体验
安装非常简单,只要环境里有 Go 就可以一行搞定:
go install github.com/jorgerojas26/lazysql@latest
直接运行即可进入连接管理界面:
lazysql
或者直接指定连接串快速进入:
lazysql mysql://user:password@tcp(localhost:3306)/dbname
✨ 挖宝心得
- 原生 Vim 键位:
h、j、k、l无缝切换左侧侧边栏、表列表和右侧数据展示区。 - 数据即时编辑:在 TUI 界面里选中单元格可以直接修改数据并保存,不用手敲
UPDATE语句。 - 分页与过滤极快:底层用了 Go 的 Goroutine 处理分页拉取,万级数据在终端滚动起来毫不卡顿。
2. usql:全能型“瑞士军刀”,一个二进制支持万物
如果说 Lazysql 胜在界面,那 usql 绝对是功能上的“终极战神”。
- GitHub 仓库:
https://github.com/xo/usql - Star 走势:老牌硬核项目,稳健攀升到 8.6k+ Star,常年处于维护中,非常可靠。
平常用 PostgreSQL 得装 psql,用 MySQL 得装官方 CLI,用 SQLite 又是另一个套路。而 usql 的目标就是:用一个统一的 CLI 替代所有关系型、非关系型数据库的客户端!它支持超过 20+ 种数据源(Postgres、MySQL、SQLite、Oracle、SQL Server、ClickHouse、Cassandra 等等)。
💻 安装与体验
你可以直接去 Release 页面下打包好的二进制,或者用 Homebrew / Go 安装:
# macOS
brew install xo/xo/usql
# Go 安装
go install github.com/xo/usql@latest
连接非常直观:
# 连接本地 SQLite
usql sqlite://test.db
# 连接远程 PostgreSQL
usql pgsql://user:pass@host:5432/dbname
进入之后,可以像在 psql 里一样写复杂的多行 SQL,而且自带代码高亮和补全:
-- usql 内支持丰富的反斜杠元命令
\d -- 查看所有表
\dt -- 查看表的详细信息
SELECT * FROM users LIMIT 5;
✨ 挖宝心得
- 真正的通用性:不用在服务器上装一堆各家数据库的运行时,一个约 30MB 的静态二进制扔上去,啥库都能连。
- 脚本化支持极好:支持通过管道传入 SQL 并导出 CSV / JSON,非常适合写在 Shell 自动化运维脚本里。
3. Termdbms:复古极简的只读浏览小钢炮
有时候我们不需要修改数据,只是在定位 Bug 时需要迅速扫一眼 SQLite 文件或者远程数据库里的配置,这时候 termdbms 绝对会惊艳到你。
- GitHub 仓库:
https://github.com/mathaou/termdbms - Star 走势:目前在 1.6k Star 左右,属于相对小众但设计极其精妙的项目。
它完全基于 Go 著名的 TUI 框架 Bubble Tea 构建,UI 风格非常漂亮,特别适合做大屏数据查看与结构检查。
💻 安装与体验
go install github.com/mathaou/termdbms@latest
本地有个 SQLite 数据库?直接秒开:
termdbms path/to/database.db
✨ 挖宝心得
- 视觉体验极佳:由于采用了 Charmbracelet 全家桶(Bubble Tea + Lipgloss),色彩搭配和边框设计非常有现代感。
- 轻量级单文件探查:对于开发移动端或桌面端嵌入 SQLite 的同学来说,临时看一眼本地 DB 文件的表结构与索引,用它比任何桌面工具都要快上十倍。
🛠️ 挖宝小周的选型指南
这三款工具都是 Go 语言构建 CLI 神器的典范,小周给大家总结一下应用场景:
- 日常开发替代桌面客户端、高频查改数据 👉 首选 Lazysql,交互舒适,体验最接近 GUI。
- 运维巡检、需要跑脚本、支持多源复杂数据库 👉 无脑上 usql,功能最完备,工业级稳定。
- 本地 SQLite 排查、轻度数据查看 👉 试一试 Termdbms,轻巧优雅,赏心悦目。
开源社区的魅力就在于,总有一群可爱的 Gopher 愿意为了一个更好的终端体验,把工具重构得既轻快又好玩。
大家平时都在用什么终端查库神器?或者你还挖到了哪些好玩的 Go 开源项目?欢迎在评论区给小周安利,我去负责复现踩坑!别忘了点赞关注,下期继续带大家在 GitHub 挖宝!⛏️
许可协议:CC BY-NC 4.0
更新于 1 小时前
觉得文章有帮助?点个赞吧!
0 条评论


