Skip to content

Repository files navigation

Surge /sɜːrdʒ/

MySQL 管理工具,就该这么快。

English


不做 PostgreSQL。不做 SQLite。只做 MySQL。
一个干净到极致的 MySQL 桌面客户端 —— 搜索快、SQL 美、操作零门槛。


下载

macOS
Apple Silicon · DMG 安装包

Windows
x64 · 便携版,解压即用

也可从源码运行:git clonenpm installnpm run dev → 打开 http://localhost:5173

三个让你回不去的理由

搜得飞快

侧边栏就像 Spotlight —— 打几个字,库、表、字段即时过滤。全拼、模糊匹配,一秒定位。不再 point-and-click 翻层级。

SQL 有美感

400 行手写格式化引擎,零依赖。SELECT 列对齐、JOIN 层级缩进、子查询括号包裹、CASE/WHEN 语块分明、UNION 空行分隔。不是机器式的关键字换行,是给人看的排版。

告别手写 CRUD

双击表名直接看数据行,展开即见列结构和 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 格式化 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
事务安全 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐
导出体验 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
搜索效率 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐
数据编辑 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐

为什么只做 MySQL?

多数据库工具为了兼容所有引擎,每一步操作都要兜底最差情况——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 并存
  • 单 Tab 关闭(× 按钮 / Ctrl+W
  • 右键菜单:Close / Close Others / Close to Right / Close to Left / Close All / Reopen
  • 超过 5 个 Tab 显示 ≡ 列表
  • Ctrl+Shift+T 恢复关闭的 Tab(记住最近 20 个)

SQL 编辑器(Monaco)

  • 上下文智能补全
    • 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 / 点击面板外部

表数据编辑(零 SQL 操作)

  • 双击表打开数据网格,三个子面板: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 桌面壳

MIT License  ·  提交 Issue  ·  Star ⭐

About

Lightweight MySQL management client built with React & Monaco Editor, backed by Express API. Supports SQL editing, data browsing, table structure view and practical performance optimization.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages