
导航菜单
切换导航
[ ](/)
[ 登录 ](/login?return_to=https%3A%2F%2Fgithub.com%2Fwebofmarius%2FSQLJoiner)
外观设置
平台
- **AI 代码创作**
- [GitHub Copilot:借助 AI 编写更优质的代码](https://github.com/features/copilot)
- [GitHub Copilot 应用:从问题到合并的直接代理](https://github.com/features/ai/github-app)
- [MCP 注册表:新功能,集成外部工具](https://github.com/mcp)
- **开发者工作流**
- [Actions:自动化任何工作流](https://github.com/features/actions)
- [Codespaces:即时开发环境](https://github.com/features/codespaces)
- [Issues:规划和跟踪工作](https://github.com/features/issues)
- [代码审查:管理代码变更](https://github.com/features/code-review)
- **应用程序安全**
- [GitHub 高级安全:查找并修复漏洞](https://github.com/security/advanced-security)
- [代码安全:在构建过程中保障代码安全](https://github.com/security/advanced-security/code-security)
- [密钥保护:防患于未然,阻止信息泄露](https://github.com/security/advanced-security/secret-protection)
- **探索**
- [为何选择 GitHub](https://github.com/why-github)
- [文档](https://docs.github.com)
- [博客](https://github.blog)
- [更新日志](https://github.blog/changelog)
- [市场](https://github.com/marketplace)
[查看所有功能](https://github.com/features)
解决方案
- **按公司规模划分**
- [企业版](https://github.com/enterprise)
- [中小型团队版](https://github.com/team)
- [初创公司版](https://github.com/enterprise/startups)
- [非营利组织版](https://github.com/solutions/industry/nonprofits)
- **按用例划分**
- [应用现代化](https://github.com/solutions/use-case/app-modernization)
- [DevSecOps](https://github.com/solutions/use-case/devsecops)
- [DevOps](https://github.com/solutions/use-case/devops)
- [CI/CD](https://github.com/solutions/use-case/ci-cd)
- [查看所有用例](https://github.com/solutions/use-case)
- **按行业划分**
- [医疗保健](https://github.com/solutions/industry/healthcare)
- [金融服务](https://github.com/solutions/industry/financial-services)
- [制造业](https://github.com/solutions/industry/manufacturing)
- [政府机构](https://github.com/solutions/industry/government)
- [查看所有行业](https://github.com/solutions/industry)
[查看所有解决方案](https://github.com/solutions)
资源
- **按主题探索**
- [AI](https://github.com/resources/articles?topic=ai)
- [软件开发](https://github.com/resources/articles?topic=software-development)
- [DevOps](https://github.com/resources/articles?topic=devops)
- [安全](https://github.com/resources/articles?topic=security)
- [查看所有主题](https://github.com/resources/articles)
- **按类型探索**
- [客户案例](https://github.com/customer-stories)
- [活动与网络研讨会](https://github.com/resources/events)
- [电子书与报告](https://github.com/resources/whitepapers)
- [商业洞察](https://github.com/solutions/executive-insights)
- [GitHub 技能](https://skills.github.com)
- **支持与服务**
- [文档](https://docs.github.com)
- [客户支持](https://support.github.com)
- [社区论坛](https://github.com/orgs/community/discussions)
- [信任中心](https://github.com/trust-center)
- [合作伙伴](https://github.com/partners)
[查看所有资源](https://github.com/resources)
开源
- **社区**
- [GitHub Sponsors:资助开源开发者](https://github.com/sponsors)
- **项目**
- [安全实验室](https://securitylab.github.com)
- [维护者社区](https://maintainers.github.com)
- [加速器](https://github.com/accelerator)
- [GitHub Stars](https://stars.github.com)
- [存档项目](https://archiveprogram.github.com)
- **仓库**
- [主题](https://github.com/topics)
- [热门趋势](https://github.com/trending)
- [集合](https://github.com/collections)
企业版
- **企业解决方案**
- [企业平台:由 AI 驱动的开发者平台](https://github.com/enterprise)
- **可用附加组件**
- [GitHub 高级安全:企业级安全功能](https://github.com/security/advanced-security)
- [Copilot for Business:企业级 AI 功能](https://github.com/features/copilot/copilot-business)
- [高级支持:企业级 24/7 支持](https://github.com/premium-support)
[定价](https://github.com/pricing)
搜索或跳转至...
搜索代码、仓库、用户、问题、拉取请求...
搜索
清除
[搜索语法提示](https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax)
提供反馈
我们会阅读每一条反馈,并认真对待您的意见。
包含我的电子邮件地址,以便能与我联系
取消 提交反馈
保存的搜索
使用保存的搜索可更快地筛选结果
名称
查询
要查看所有可用的限定符,请参阅我们的[文档](https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax)。
取消 创建保存的搜索
[ 登录 ](/login?return_to=https%3A%2F%2Fgithub.com%2Fwebofmarius%2FSQLJoiner)
[ 注册 ](/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=webofmarius%2FSQLJoiner)
外观设置
重置焦点
您在另一个标签页或窗口中登录了。[重新加载]()以刷新您的会话。
您在另一个标签页或窗口中注销了。[重新加载]()以刷新您的会话。
您在另一个标签页或窗口中切换了账户。[重新加载]()以刷新您的会话。 关闭提醒
{{ message }}
[ webofmarius ](/webofmarius) / **[SQLJoiner](/webofmarius/SQLJoiner) **
公开
- [ 通知 ](/login?return_to=%2Fwebofmarius%2FSQLJoiner) 您必须登录才能更改通知设置
- [ 分叉 0 ](/login?return_to=%2Fwebofmarius%2FSQLJoiner)
- [ 加星 14 ](/login?return_to=%2Fwebofmarius%2FSQLJoiner)
- [ 代码 ](/webofmarius/SQLJoiner)
- [ 问题 0 ](/webofmarius/SQLJoiner/issues)
- [ 拉取请求 0 ](/webofmarius/SQLJoiner/pulls)
- [ 操作 ](/webofmarius/SQLJoiner/actions)
- [ 项目 ](/webofmarius/SQLJoiner/projects)
- [ 安全与质量 0 ](/webofmarius/SQLJoiner/security)
- [ 洞察 ](/webofmarius/SQLJoiner/pulse)
其他导航选项
- [ 代码 ](/webofmarius/SQLJoiner)
- [ 问题 ](/webofmarius/SQLJoiner/issues)
- [ 拉取请求 ](/webofmarius/SQLJoiner/pulls)
- [ 操作 ](/webofmarius/SQLJoiner/actions)
- [ 项目 ](/webofmarius/SQLJoiner/projects)
- [ 安全与质量 ](/webofmarius/SQLJoiner/security)
- [ 洞察 ](/webofmarius/SQLJoiner/pulse)
[](/webofmarius/SQLJoiner)
webofmarius/SQLJoiner
主分支
[分支](/webofmarius/SQLJoiner/branches)[标签](/webofmarius/SQLJoiner/tags)
[](/webofmarius/SQLJoiner/branches)[](/webofmarius/SQLJoiner/tags)
转到文件
代码
打开更多操作菜单
文件夹和文件
| 名称 | 名称 | 最后提交消息 | 最后提交日期 |
| --- | --- | --- | --- |
最新提交
历史记录
[217 次提交](/webofmarius/SQLJoiner/commits/main/)
[](/webofmarius/SQLJoiner/commits/main/)217 次提交
[app](/webofmarius/SQLJoiner/tree/main/app "app")
|
[app](/webofmarius/SQLJoiner/tree/main/app "app")
|
|
[build](/webofmarius/SQLJoiner/tree/main/build "build")
|
[build](/webofmarius/SQLJoiner/tree/main/build "build")
|
|
[docker](/webofmarius/SQLJoiner/tree/main/docker "docker")
|
[docker](/webofmarius/SQLJoiner/tree/main/docker "docker")
|
|
[docs](/webofmarius/SQLJoiner/tree/main/docs "docs")
|
[docs](/webofmarius/SQLJoiner/tree/main/docs "docs")
|
|
[electron](/webofmarius/SQLJoiner/tree/main/electron "electron")
|
[electron](/webofmarius/SQLJoiner/tree/main/electron "electron")
|
|
[scripts](/webofmarius/SQLJoiner/tree/main/scripts "scripts")
|
[scripts](/webofmarius/SQLJoiner/tree/main/scripts "scripts")
|
|
[.gitignore](/webofmarius/SQLJoiner/blob/main/.gitignore ".gitignore")
|
[.gitignore](/webofmarius/SQLJoiner/blob/main/.gitignore ".gitignore")
|
|
[.htaccess](/webofmarius/SQLJoiner/blob/main/.htaccess ".htaccess")
|
[.htaccess](/webofmarius/SQLJoiner/blob/main/.htaccess ".htaccess")
|
|
[DIRECTORIES.md](/webofmarius/SQLJoiner/blob/main/DIRECTORIES.md "DIRECTORIES.md")
|
[DIRECTORIES.md](/webofmarius/SQLJoiner/blob/main/DIRECTORIES.md "DIRECTORIES.md")
|
|
[LICENSE](/webofmarius/SQLJoiner/blob/main/LICENSE "LICENSE")
|
[LICENSE](/webofmarius/SQLJoiner/blob/main/LICENSE "LICENSE")
|
|
[README.md](/webofmarius/SQLJoiner/blob/main/README.md "README.md")
|
[README.md](/webofmarius/SQLJoiner/blob/main/README.md "README.md")
|
|
[package.json](/webofmarius/SQLJoiner/blob/main/package.json "package.json")
|
[package.json](/webofmarius/SQLJoiner/blob/main/package.json "package.json")
|
查看所有文件
仓库文件导航
- README
- GPL-3.0 许可证
SQL Joiner
一款用于 MySQL 的可视化 SQL 查询构建器。
通过将表拖到画布上、用连接符连接它们并设置条件来构建 SELECT 查询,无需手动编写 SQL。
[](/webofmarius/SQLJoiner/blob/main/docs/demo.png)
功能
- **可视化画布**:将表从侧边栏拖到画布上,然后在列之间绘制连接线。
- **连接类型**: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:
cd app然后在浏览器中打开 `http://localhost:8080`。
php -S localhost:8080
##### 使用 Electron(桌面应用程序)
npm install
npm start
构建安装程序
需要 Node.js。
npm run build:mac # macOS DMG输出到 `dist/` 目录。
npm run build:win # Windows 安装程序(NSIS)
npm run build:linux # Linux AppImage
项目结构
app/
src/
Core/ 请求、响应、上下文管理器、关于管理器
Database/ 连接(PDO)、配置文件管理器、模式检查器
Query/ 查询构建器、查询解析器、连接子句、WHERE 子句、
GROUP BY 子句、HAVING 子句、ORDER BY 子句
assets/
js/ 画布、连接、孤立、自动完成、撤销/重做、结果、配置文件、API
storage/ 连接配置文件和保存的上下文(JSON)
electron/
main.js Electron 入口 —— 启动 PHP 服务器,打开窗口
php-bin/ 捆绑的 PHP 二进制文件(win/、mac/、linux/)
连接配置文件
配置文件存储在 `app/storage/profiles.json` 中。每个配置文件包含主机、端口、数据库、用户和密码。可通过顶部栏的 **配置文件** 进行管理。
关于
Sql Joiner - 图形化 SQL 构建器和调试器
##### 资源
Readme
##### 许可证
GPL-3.0 许可证
哎呀!
加载时出现错误。[请重新加载此页面]()。
[ 活动](/webofmarius/SQLJoiner/activity)
#### 加星
[ **14** 颗星](/webofmarius/SQLJoiner/stargazers)
#### 关注者
[ **0** 个关注者](/webofmarius/SQLJoiner/watchers)
#### 分叉
[ **0** 次分叉](/webofmarius/SQLJoiner/forks)
[ 举报仓库 ](/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fwebofmarius%2FSQLJoiner&report=webofmarius+%28user%29)
[发布 1](/webofmarius/SQLJoiner/releases)
[ SQL Joiner 1.13.10 - 桌面版本(带 Electron) 最新 2026 年 4 月 8 日 ](/webofmarius/SQLJoiner/releases/tag/1.13.10)
[包 0](/users/webofmarius/packages?repo_name=SQLJoiner)
哎呀!
加载时出现错误。[请重新加载此页面]()。
[贡献者](/webofmarius/SQLJoiner/graphs/contributors)
* * *
哎呀!
加载时出现错误。[请重新加载此页面]()。
语言
- [ JavaScript 76.1% ](/webofmarius/SQLJoiner/search?l=javascript)
- [ CSS 12.3% ](/webofmarius/SQLJoiner/search?l=css)
- [ PHP 11.3% ](/webofmarius/SQLJoiner/search?l=php)
- 其他 0.3%
页脚
[ ](https://github.com) (C) 2026 GitHub, Inc.
#### 页脚导航
- [条款](https://docs.github.com/site-policy/github-terms/github-terms-of-service)
- [隐私](https://docs.github.com/site-policy/privacy-policies/github-privacy-statement)
- [安全](https://github.com/security)
- [状态](https://www.githubstatus.com/)
- [社区](https://github.community/)
- [文档](https://docs.github.com/)
- [联系我们](https://support.github.com?tags=dotcom-footer)
- 管理 Cookie
- 不共享我的个人信息
此时您无法执行该操作。

285

被折叠的 条评论
为什么被折叠?



