想在 Cursor 里面能直接让 LLM 帮我写 SQL,但是不能让他直接访问数据库,有什么好的办法吗?

2025 年 6 月 22 日
 RangerWolf
要写的 SQL 有时候挺重复的,无非是一些条件的变换(比如上次 keyword = AAA , 这次 keyword = BBB )
但是每次也略微有点复杂,而且还需要进行一些表的关联,比如 provider_id 每次都要去 provider 表做一个关联查询(需求需要按照 provider name 进行查询)

每次都很重复劳动,觉得效率很低

但是又不能让他直接访问我们的生产数据库,一种想法就是把 Schema 下载到本地,搭建一个测试环境

线上数据库包括 MySQL + Clickhouse

求问有什么好的方案?轻微付费也可以
2789 次点击
所在节点    问与答
15 条回复
ferock
2025 年 6 月 22 日
测试库,mcp 服务,ddl 落本地 docs 目录
javalaw2010
2025 年 6 月 22 日
测试环境是可行的,用对应的 MCP 就行。更简单的方法是将数据库结构输出到 markdown 的表格里面,让 LLM 直接读对应的 markdown 就好了。
RangerWolf
2025 年 6 月 22 日
@javalaw2010 markdown 的话 如果有几百张表。。。 会不会 context 太多?

如果搭建测试环境, 推荐哪个 MCP?
RangerWolf
2025 年 6 月 22 日
@ferock ddl 落本地 docs 目录 这个有说明吗? 我只知道一个 indexing & Docs 是这个功能?
dethan
2025 年 6 月 22 日
@RangerWolf mcp 是最佳实践
adgfr32
2025 年 6 月 22 日
不是很懂,为什么要 mcp ,mcp 只是一个上下文协议,对于模型的能力又没有提升,而且 op 说了,不要直接访问数据库,也就是 op 只需要模型生成一个 sql ,甚至连 tools 都不需要。
所以 op 可以自己写一个工具,拉取线上表的结构作为上下文送进去。长度大概率够,一张表就算 100 token ,100 张表 10k token ,16k 的模型都够了。
kuse2001
2025 年 6 月 22 日
https://github.com/FreePeak/db-mcp-server

go 写的,用着还还可以
dcatfly
2025 年 6 月 22 日
可以写个 mcp ,让 ai 只能读出表结构,不能操作数据,相比直接给上下文的好处是不用管理同步表结构的变化。
Liftman
2025 年 6 月 22 日
反正首先权限肯定只有 查。 增删改都不能给。 其次正常我们现在做的一个产品就是用一个智能体用 mcp 访问所有子公司的所有数据库,读取后立刻汇总再结构化,然后用图表渲染出来,满足客户领导的面子工程。
zhoujinjing09
2025 年 6 月 22 日
把 schema 的 sql dump 下来给 LLM 就可以了吧
ujfj1986
2025 年 6 月 22 日
@Liftman @RangerWolf @ 佬,请问你们的大写字母开头的 v 站账号是怎么注册的呀,能不能教教我呀~
RangerWolf
2025 年 6 月 22 日
@kuse2001 感谢 我试试看
youtubbbbb
2025 年 6 月 23 日
可以读取 schema 和头几行
Liftman
2025 年 6 月 24 日
@ujfj1986 注册的时候你写大写字母不就行??????????????
RangerWolf
2025 年 6 月 24 日
@ujfj1986 我也没有注意 这就是我最常用的网名 而且我注册时间很久很久了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1140204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX