Show HN: 图形化 SQL 构建器与调试器
摘要
SQL Joiner 是一个用于 MySQL 的可视化 SQL 查询构建器,允许您通过将表拖拽到画布上来构建 SELECT 查询,支持连接、子查询和导入现有 SQL。
查看缓存全文
缓存时间: 2026/06/24 07:51
webofmarius/SQLJoiner
来源: https://github.com/webofmarius/SQLJoiner
SQL Joiner
一个面向 MySQL 的可视化 SQL 查询构建器。
通过将表拖拽到画布上、使用连接线关联它们并设置条件来构建 SELECT 查询——全程无需手写 SQL。
SQL Joiner 截图
特性
- 可视化画布 — 从侧边栏将表拖到画布上,然后在列之间绘制连接线
- 连接类型 — INNER、LEFT、RIGHT、FULL OUTER、CROSS
- SELECT 构建器 — 可视化选择列,或切换为原始 SQL 模式;支持列别名、DISTINCT、自定义表达式和字母排序
- WHERE / GROUP BY / HAVING / ORDER BY — 每个子句均可使用可视化或原始 SQL 模式
- 子查询 — 在画布上将子查询添加为命名表
- 导入 SQL — 粘贴现有查询以在画布上逆向工程
- 上下文 — 保存和恢复画布状态(表、连接、条件)
- 笔记 — 为上下文附加自由格式的笔记
- 连接配置 — 存储多个 MySQL 连接配置;可在顶部栏中切换
- 查询取消 — 执行中可取消运行中的查询
- 结果网格 — 分页结果,支持复制到剪贴板
- 画布搜索 — 查找表、别名、连接或孤岛标签
技术栈
| 层 | 技术 |
|---|---|
| 桌面外壳 | Electron(可选) |
| 后端 | PHP(内置 CLI 服务器) |
| 前端 | 原生 JS + Canvas API |
环境要求
- PHP 8+ — 必需(唯一硬性依赖)
- Node.js + Electron — 可选,仅当需要桌面应用封装或构建安装程序时需要
- 打包后的应用: PHP 二进制文件已捆绑(Windows 和 Mac 版本包含在
php-bin/下)
快速开始
不使用 Electron(仅 PHP)
运行应用的最简单方式——只需 PHP:
bash cd app php -S localhost:8080
然后在浏览器中打开 http://localhost:8080。
使用 Electron(桌面应用)
bash npm install npm start
构建安装程序
需要 Node.js。
bash npm run build:mac # macOS DMG npm run build:win # Windows 安装程序 (NSIS) npm run build:linux # Linux AppImage
输出文件位于 dist/。
项目结构
app/ src/ Core/ Request, Response, ContextManager, AboutManager Database/ Connection (PDO), ProfileManager, SchemaInspector Query/ QueryBuilder, QueryParser, JoinClause, WhereClause, GroupByClause, HavingClause, OrderByClause assets/ js/ Canvas, joins, islands, autocomplete, undo/redo, results, profiles, api storage/ 连接配置和已保存的上下文(JSON) electron/ main.js Electron 入口——启动 PHP 服务器,打开窗口 php-bin/ 捆绑的 PHP 二进制文件(win/、mac/、linux/)
连接配置
配置存储在 app/storage/profiles.json 中。每个配置包含主机、端口、数据库、用户和密码。通过顶部栏中的 配置 进行管理。
相似文章
ggsql:面向 SQL 的图形语法
ggsql 是一款 Alpha 版本工具,它将图形语法的可视化能力引入 SQL,允许用户在 Quarto、Jupyter、Positron 和 VS Code 中利用 SQL 语法构建结构化、模块化的可视化图表。
免费 SQL→ER 图工具,在浏览器中运行,不上传任何内容
一款免费的开源工具,可在浏览器本地将 SQL CREATE TABLE 语句转换为交互式实体关系图,支持多种 SQL 方言。
SQLite查询结果格式化演示
基于WebAssembly的交互式演示,允许用户以20多种样式格式化SQL查询结果,包括表格、CSV、JSON、HTML和Markdown,并支持实时调整。
Show HN: Bun-sqlgen – Bun的原始SQL类型安全库,无需ORM
Bun-sqlgen 是一个为 Bun 设计的类型安全的原始 SQL 库,它通过代码生成来检查查询是否匹配实时 Postgres 或 SQLite 模式,从而生成完全类型化且空安全的结果,无需 ORM。
HeidiSQL – 轻量级MariaDB、MySQL、SQL Server、PostgreSQL和SQLite管理器
HeidiSQL是一个轻量级的图形界面,用于管理MariaDB、MySQL、SQL Server、PostgreSQL、SQLite、Interbase和Firebird数据库。它允许用户浏览、编辑、创建和导出数据库结构及数据。