为什么会有这个工具
有一段时间,我几乎每天都在做同一件事:
打开 ChatGPT,把表结构粘贴进去,描述我想查什么,等它输出 SQL,复制,切回 Navicat 或 DataGrip,粘贴,执行,报错,截图,切回去,把报错贴给它,等修复……
偶尔运气好,第一次就跑通。更多时候,来回要折腾四五轮。
问题的根源很清楚:AI 不知道我的数据库长什么样。
它给我的 SQL,是基于"一个典型数据库可能有什么表"的猜测,而不是基于我真实的 Schema。
于是我开始做 SQL Copilot。
它和"AI 生成 SQL"工具最大的不同
我见过很多"接入 AI 的数据库工具",它们大多数做的事情是:在查询编辑器旁边加一个输入框,你问,它生成,你复制过去执行。
SQL Copilot 想做的不是这个。
它想做的是:从你问出问题,到你看到结果,中间不需要你做任何搬运工作。
1. AI 先读懂你的库,再回答你
SQL Copilot 内置了一套 RAG(检索增强生成)流程。每次你提问之前,系统会自动检索:
- Schema 信息:当前连接的所有表、字段、数据类型、索引、外键
- 字段说明:如果你给字段加过业务备注,AI 会读到
- 历史样例 SQL:你之前执行过的查询,或你手动保存到知识库的 SQL
- 自定义术语:你在知识库里定义的业务术语和缩写对照
- 多轮会话记忆:当前对话的上下文,以及历史会话的向量摘要
这些信息会一起作为上下文发给 AI,而不是只传你现在这一句话。
结果就是:AI 生成的 SQL 字段名是对的,表名是存在的,JOIN 条件是合理的。不是百分之百,但准确率比纯靠猜高得多。
而且随着你用的时间越长,知识库里积累的样例 SQL 越多,它就越懂你的业务。
2. 生成 → 执行 → 结果,全在一个界面
这是我最想解决的那个"来回复制粘贴"问题。
AI 生成 SQL 之后,你可以直接在对话界面点"执行",结果表格就在下面出来了。你可以接着追问:"只取前 20 条"、"改一下排序"、"加个时间筛选",AI 会基于刚才那条 SQL 继续修改,修改完你可以再执行。
整个过程不需要切窗口,不需要复制粘贴,不需要重新解释上下文。
3. 执行前有人替你把关
数据库误操作的后果很难受,尤其是在生产环境。
SQL Copilot 在执行任何 SQL 之前,会先跑一遍风险评估:
- 检测到
DELETE FROM table_name(没有 WHERE 条件)→ 拦截 - 检测到
UPDATE ... SET ...(没有 WHERE 条件)→ 拦截 - 检测到生产环境连接下的写操作 → 二次确认
- 检测到全表 TRUNCATE → 明确提示
不是不让你执行,而是在你可能手滑的时候提醒你一下。
4. 想看图表,不用导出到 Excel
"帮我统计一下每个月的新增用户数,按月份画个折线图。"
SQL Copilot 会生成对应的聚合 SQL,执行之后直接渲染图表,折线图、柱状图、饼图都支持。图片可以导出,数据可以导出 CSV。
不需要 Python,不需要 Excel,不需要 Tableau。就在工作台里。
5. 接手陌生项目?先看 ER 图
接手别人的遗留系统是很多人的噩梦,几十张表,不知道谁关联谁,文档早就过时了。
SQL Copilot 的智能 ER 图功能:选中几张你感兴趣的表,生成关系图。外键关系会显示实线,AI 推断的隐式关联(比如 user_id 字段存在于多张表)会显示虚线。可以保存快照,下次打开继续分析。
6. 数据完全在你本地
这一点我觉得很重要,尤其对于连接生产数据库的场景。
SQL Copilot 所有的数据(连接配置、查询历史、Schema 快照、知识库内容)都存储在本地 SQLite,不会上传到任何服务器。
AI 模型是你自己接的:支持 OpenAI API、Azure OpenAI、以及任何兼容 OpenAI 接口的本地模型或第三方服务。应用本身不记录你问了什么,也不会把你的 SQL 发给我。
当前支持
| 数据库 | 连接方式 |
|---|---|
| MySQL | 直连 / SSH 隧道 |
| PostgreSQL | 直连 / SSH 隧道 |
| SQL Server | 直连 / SSH 隧道 |
| Oracle | 直连 / SSH 隧道 |
| SQLite | 本地文件 |
支持多连接管理、只读模式、多环境标识(开发 / 测试 / 生产)。
开源 & 免费
SQL Copilot 完全开源,MIT 协议,永久免费。
- GitHub:github.com/zhouyu74748…
- 直接下载:github.com/zhouyu74748…
- 联系我:zhouyu74748585@hotmail.com
如果你用过之后觉得有什么地方不对劲,或者有功能想法,欢迎开 Issue 或者直接发邮件,我都会认真看的。
如果觉得这个工具对你有用,帮忙点个 Star ⭐ 是对我最大的支持。