MySQL 管理工具,就该这么快。
不做 PostgreSQL。不做 SQLite。只做 MySQL。
一个干净到极致的 MySQL 桌面客户端 —— 搜索快、SQL 美、操作零门槛。
|
macOS Apple Silicon · DMG 安装包 |
Windows x64 · 便携版,解压即用 |
也可从源码运行:
git clone→npm install→npm run dev→ 打开http://localhost:5173
|
侧边栏就像 Spotlight —— 打几个字,库、表、字段即时过滤。全拼、模糊匹配,一秒定位。不再 point-and-click 翻层级。 |
400 行手写格式化引擎,零依赖。SELECT 列对齐、JOIN 层级缩进、子查询括号包裹、CASE/WHEN 语块分明、UNION 空行分隔。不是机器式的关键字换行,是给人看的排版。 |
双击表名直接看数据行,展开即见列结构和 COMMENT。编辑单元格 → 修改高亮 → 批量保存。零 SQL 操作数据库,像用 Excel 一样自然。 |
Surge 不做大而全。 Navicat、DBeaver、TablePlus 都在试图连接所有数据库——PostgreSQL、SQLite、MongoDB、Redis……Surge 只做一件事:让 MySQL 操作快到极致。
| Surge | Navicat | DBeaver | TablePlus | MySQL Workbench | |
|---|---|---|---|---|---|
| 🆓 免费 MIT | 💸 $1,099+/年 | 🆓 免费 / Pro $199 | 💸 $89 买断 | 🆓 免费 |
| 维度 | Surge | Navicat | DBeaver | TablePlus | Workbench |
|---|---|---|---|---|---|
| 启动速度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 界面简洁 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| SQL 补全 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| SQL 格式化 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 事务安全 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐ |
| 导出体验 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 搜索效率 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 数据编辑 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
多数据库工具为了兼容所有引擎,每一步操作都要兜底最差情况——SQL 补全不敢做上下文推断、格式化只能做关键字换行、导出不问你表里有多少数据、事务超时可以无限挂起。
Surge 的专一带来的是每个细节的深度打磨:SELECT 后的列对齐知道该补哪些表字段、JOIN 层级有语义缩进、自研 400 行格式化引擎做给人看的排版、导出前先查 information_schema 告诉你这表有多大。
| 快捷键 | 作用 | 说明 |
|---|---|---|
Ctrl+Enter |
执行 SQL | 编辑器内运行当前查询或选中文本 |
Ctrl+Shift+Enter |
EXPLAIN | 查看查询执行计划 |
Ctrl+Space |
触发补全 | 手动弹出自动补全菜单 |
Ctrl+F |
搜索树 | 聚焦侧边栏搜索(不在编辑器时) |
Ctrl+W |
关闭标签 | 关闭当前 Tab(不在编辑器时) |
Ctrl+H |
查询历史 | 打开/关闭 History 面板 |
Ctrl+Shift+T |
恢复标签 | 重新打开最近关闭的 Tab |
Escape |
多场景 | 关闭 History 面板 / 取消单元格编辑 / 清除搜索 |
Enter |
确认编辑 | 提交当前单元格修改 |
↑ ↓ Enter |
侧边栏导航 | 方向键移动节点焦点,Enter 激活当前节点 |
- 新建连接:支持 Host、Port、User、Password、Database,一键测试
- 保存连接:常用连接持久化保存,双击重连
- 多实例:同时连接多台 MySQL,连接池复用,掉线自动重连
- 断开确认:断开连接前弹窗确认,防止误操作
- 展开实例 → 数据库 → 表/视图(Tables/Views 分组)
- 展开表节点查看列(类型徽章、PK 标识、注释)、索引和外键关系
- 侧边栏 搜索框(
Ctrl+F),全拼/模糊匹配库表字段 - 每个数据库层级都有专属 Console 入口
- 刷新按钮 + 刷新时 spinner 动画反馈
- 断开连接按钮 + 确认弹窗
- 键盘导航:
↑↓移动焦点,Enter激活节点
| 目标 | 菜单项 |
|---|---|
| 表 | Edit Data · View DDL · Show Indexes · Refresh · Import Data · Export Dump (.sql) · Copy Name · SELECT * FROM |
| 数据库/实例 | Open Console · Refresh · Export Dump (.sql) · Copy Name · Disconnect(实例) |
- 查询 Tab 和表数据 Tab 并存
- 单 Tab 关闭(× 按钮 /
Ctrl+W) - 右键菜单:Close / Close Others / Close to Right / Close to Left / Close All / Reopen
- 超过 5 个 Tab 显示 ≡ 列表
Ctrl+Shift+T恢复关闭的 Tab(记住最近 20 个)
- 上下文智能补全:
FROM/JOIN/INTO后弹出表名(含 VIEW 标识)SELECT/WHERE/ON后弹出列名(含类型和来源表)- 输入
table.精确提示该表字段 - 100+ SQL 关键字 + 50+ 内置函数
- 实时语法检查:全角字符、关键字拼写错误红色波浪线
- SQL 格式化(语义缩进、对齐、分隔)
- 代码折叠、换行、行号
| 按钮 | 功能 |
|---|---|
| DB 选择器 | 带搜索下拉,为当前 Tab 切换数据库 |
| Begin / Commit / Rollback | 事务控制 |
| Cancel | 取消正在运行的查询 |
| History ⌛ | 查询历史面板(Ctrl+H),带数量徽章 |
| Snippets 📋 | 保存的查询片段列表,按名称/内容搜索,单击加载到编辑器 |
| 💾 | 将当前 SQL 保存为 Snippet(输入名称) |
| – + | 编辑器字体大小调节(10-24px) |
| ↩ | 恢复关闭标签(Ctrl+Shift+T) |
| Format | SQL 格式化 |
| Explain | 查询执行计划(Ctrl+Shift+Enter) |
| Run | 执行查询(Ctrl+Enter) |
- 选中执行 / 光标执行:高亮部分 SQL 仅执行选中区域;未选中时自动识别光标所在语句边界
- 批量执行:多条 SQL 分号分隔,结果分组展示,每段标明行数/影响行数/耗时
- 批量结果可展开查看详细数据,支持 CSV / JSON / XLSX 导出
- SQL 语句生成:从查询结果一键生成 INSERT 或 UPDATE 语句,弹窗预览并复制
- 右键 Copy as INSERT:结果表格右键 → Copy Row as INSERT,一键复制整行 INSERT 语句
- EXPLAIN 结果独立面板展示
- 自动记录最近 50 条 SQL(localStorage 持久化)
- 搜索过滤:头部输入框实时筛选
- 单击复用:在新 Tab 中打开历史查询(保留原始数据库上下文)
- 单条删除:hover 显示 × 按钮
- 全部清除:Clear All 按钮
- 关闭方式:Escape / 点击面板外部
- 双击表打开数据网格,三个子面板:Data / DDL / Indexes
- Data 面板:
- 双击单元格原地编辑,修改行高亮
- 批量保存(基于主键自动生成 UPDATE)
- 分页(20/50/100/200 行)、列排序、文本过滤
- Enter 确认 / Escape 取消编辑
- NULL 值灰色斜体显示
- DDL 面板:Monaco 语法高亮展示 CREATE TABLE 完整语句
- Indexes 面板:名称、列、唯一性、类型一览
- 右键表 → Import Data 打开导入弹窗
- 支持 CSV(引号、转义、多行字段)和 JSON(对象数组)格式
- 拖拽上传或点击选择文件
- 列映射预览:自动检测表头,列名可编辑,前 10 行预览
- 分批 INSERT 写入,每批 200 行,实时进度显示
- 导入完成显示成功/失败统计
- 暗色 / 亮色主题切换(localStorage 持久化)
- 侧边栏宽度可拖拽(240-500px)
- 编辑器与结果面板高度可拖拽分割(20-80%)
- DDL/DML 操作后自动刷新侧边栏树
# macOS (.dmg)
npm run electron:build:mac
# Windows (.exe)
npm run electron:build:win
# 全平台
npm run electron:build:all| 层 | 技术 |
|---|---|
| 前端 | React 18 · Vite 5 · Monaco Editor |
| 后端 | Express · MySQL2 · 连接池 |
| 桌面 | Electron |
src/
├── App.jsx 主应用
├── hooks/ 自定义 Hook(自动补全、侧边栏、连接管理、查询执行)
├── components/ 侧边栏树 · 编辑器 · 表格 · DDL · 索引 · 上下文菜单 · 导入弹窗
└── utils/ SQL 格式化器 · 检查器 · 生成器 · CSV解析 · 图标 · API 客户端
server.js Express 后端(20+ API 端点 + 连接池)
electron/ Electron 桌面壳