Claude Code 用数据库 MCP 查数据、出报表:只读账号、先看口径再看数字,结果别一次拉太多行

想用自然语言让 Claude Code 查数据库、出统计报表,而不是写后端接口。本文按官方 MCP 页面和 DBHub 说明讲:怎么连 PostgreSQL、MySQL、SQLite、输出太大怎么办、怎么让它先说明口径、怎么核对数字,附三段提示词。

NNathaniel bigo··原创首发·AI 辅助撰写
9 分钟读完
资料核对于 2026-11-05 · 依据官方文档与公开资料整理 Pro 账号
本文根据 Claude Code 官方《Connect Claude Code to tools via MCP》《Configure permissions》和 DBHub 官方说明整理,资料核对于 2026-11-05。配图为本站整理的示意图,不是界面截图。本站(bigolab.com)不是 Anthropic 官方网站。

适用于谁

  • 有业务数据库,想用中文提问就拿到统计数字的运营、产品、创业者;
  • 懂一点 SQL,想让 Claude 帮忙写查询、解释执行结果的人;
  • 担心 AI 查数据时改了数据、或者数字不对没发现的人。

这篇只讲查数据、出报表。如果你要的是写后端接口、连库、写迁移,看 /guides/claude-code-backend-api-database-mcp,两篇的连接方式相同,那篇更偏开发保护,这篇更偏分析。

结论先说

  1. 官方的数据库示例是 DBHub(@bytebase/dbhub),一个让 Claude 通过连接串(--dsn)连关系型数据库的 MCP 服务器。官方要求连接串里用只读用户,这样 Claude 跑的查询改不了数据。
  2. DBHub 自己说支持 PostgreSQL、MySQL、MariaDB、SQL Server、Oracle 和 SQLite,默认只提供两个工具:执行 SQL(execute_sql)和搜索库表结构(search_objects)。
  3. 官方给的提问示例就是日常问题:「这个月总收入多少」「给我看订单表的结构」「找出 90 天没有下单的客户」。
  4. 输出太大会被截。 Claude Code 官方说,MCP 工具输出超过 10,000 个 token 时会出警告,默认最多只收 25,000 个 token。所以让它做汇总,别让它把整张表拉出来。
  5. 数字要自己核对:让它先讲口径,再给 SQL 和结果,并用另一种写法交叉验证。

用数据库 MCP 出一份报表的流程

图:本站根据 Claude Code 官方文档:MCP 整理的示意图

第一步:连接,只读账号

官方示例(PostgreSQL):

bash
claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:密码@主机:5432/库名"

连好后输入 /mcp,db 这一行有勾就是服务器启动成功。其他数据库只是连接串不同。DBHub 命令行文档给出的格式是:mysql://用户:密码@主机:3306/库名;SQLite 是 sqlite:///文件路径,Windows 示例写作 sqlite:///C:/Users/你的名字/data/database.db。把对应连接串放进上面的 --dsn 即可。这个组合是本站拼的,没有逐个数据库实测,连不上时看 /mcp 里的失败详情。

连接串里有密码,所以:只读账号,只给报表需要的表(或视图)的 SELECT 权限;不要把带密码的配置提交进仓库,密钥处理原则见 /guides/ai-coding-security-secrets-permissions;用本机副本或脱敏的数据做分析是最稳的。官方没有规定不能连线上库,但提示注入的风险官方提醒过:连接任何服务器前确认你信任它。

DBHub 的 README 提到它自带只读模式、行数限制、查询超时这类防护,具体参数名本文没有核实,请看 dbhub.ai 的配置文档。

第二步:先摸清数据结构

提示词 1:用中文问表结构

text
请通过 db 服务器,只读地了解和订单、用户、支付相关的表:
1)列出每张表的字段、类型、主键和外键;
2)说明每个状态字段有哪些取值(用查询去重得到,不要猜);
3)指出日期字段的类型和是否带时区;
4)说明哪些字段可能有空值。
只做查询,不要执行任何修改数据或表结构的语句。把结果整理成一页「数据字典」给我。

数据字典这一步容易被跳过,但它决定后面的数字对不对:状态字段里「已取消」「已退款」要不要算进收入,日期按哪个时区切天,这些都得先弄清。

第三步:问业务问题,先要口径

提示词 2:带口径的统计查询

text
请统计【2026 年 10 月】每天的订单数和成交金额,并按周汇总。
口径:只计【已支付】订单,不含已取消和已退款;金额单位是【元】;日期按【北京时间】切天。
请先用一句话复述你理解的口径,再给出你要执行的 SQL,等我说「执行」以后再运行。
结果请汇总后给我,不要一次返回超过 100 行的明细。

要求「先复述口径、先给 SQL」,等于让 Claude 把隐含假设摊在桌面上。你可以在执行前就发现问题,比如它把退款订单也算了进去。

限制工具范围。 Claude Code 的权限规则支持按 MCP 工具写规则,格式是 mcp__服务器名__工具名,也可以用 mcp__db__* 匹配该服务器的所有工具。想让每次执行查询都先问你,可以把 mcp__db__execute_sql 放进 ask 规则。这是本站按官方格式拼的,用 /permissions 确认实际效果。规则完整说明见 /guides/claude-code-permission-modes。

第四步:出报表

查询结果出来,可以让 Claude 直接写成文件。

提示词 3:生成报表文件

text
请把上面的统计结果整理成 reports/2026-10-sales.md:
1)开头三句话总结;2)一张按周汇总的表格;3)最大的两个异常波动日,并说明你从数据里能看到什么(只描述,不要编造原因);4)「口径与限制」一节,写明过滤条件、时区、数据截至时间。
然后换一种写法(例如按订单表直接汇总 vs 按明细表求和)再查一次总额,对比两边是否一致,不一致就在报告末尾列出差异。

「换一种写法再查一次」是最便宜的核对办法:两条独立路径得到同一个总数,可信度高很多。Claude Code 官方最佳实践也说,要给它一个能判断对错的检查,它才能自己闭环。

用 AI 查数据的核对清单

图:本站根据官方文档整理的示意图

汇总,不要拉明细

Claude Code 官方对 MCP 输出的说明是:单次输出超过 10,000 个 token 会有警告,默认上限是 25,000 个 token,可以用环境变量 MAX_MCP_OUTPUT_TOKENS 调整。输出越大,越占用对话上下文,也越贵。所以提问时尽量让数据库做汇总(GROUP BY、COUNT、SUM),明细只看前几行样例。如果真的要导出大批数据,更合适的办法是用数据库自己的导出工具,而不是让 Claude 逐行读。

常见问题

Q:它给的数字和我在后台看到的不一样?

先对口径:状态过滤、时区、是否含税、是否含退款。大多数差异出在这里,而不是 Claude 算错。

Q:能让它顺手修数据吗?

不建议。只读账号本来就改不了。需要修数据时,让它只写出语句和影响行数的预估,由你自己评审后在数据库工具里执行。

Q:想画图表怎么办?

可以让 Claude 把汇总结果存成 CSV,再按 /guides/claude-code-python-automation-script-beginner 的办法写脚本出图。

订阅和额度

数据分析会话里表结构和结果都占上下文,按报表分会话更省。订阅选择见 /chongzhi/claude-code,价格和额度以官方页面当前显示为准。

相关教程

参考资料

  • Claude Code 文档:Connect Claude Code to tools via MCP — https://code.claude.com/docs/en/mcp
  • Claude Code 文档:Configure permissions — https://code.claude.com/docs/en/permissions
  • DBHub 仓库 — https://github.com/bytebase/dbhub
  • DBHub 文档:Command-Line Options — https://dbhub.ai/config/command-line

Nathaniel 的更多内容

  1. 01

    Claude Code 在 Windows 上的常见坑:Git Bash 还是 PowerShell、路径反斜杠、假报错、WSL 怎么选

    Windows 上用 Claude Code,装好之后最容易踩的是:用哪个 shell、路径写法不一致、grep 没匹配就报错、钩子没生效、WSL 和原生怎么选。本文逐条按官方文档整理原因和处理办法,附三段提示词和一张对照表。

    Claude0
  2. 02

    Claude Code Hooks 实战「提交前自动跑测试」:PreToolUse 拦住 git commit,测试不过就退出码 2,附 Windows 注意点

    只写一个完整例子:让 Claude Code 每次要执行 git commit 之前,先自动跑项目测试,没通过就拦下并把输出交给它修。本文按官方 Hooks 文档给出脚本、settings.json 配置、测试方法、排错和 Windows 的两处坑。

    Claude0
  3. 03

    Claude Code 自定义斜杠命令与 Skill 实战:从零写一个「生成更新日志」的 /release-notes,含传参、预执行命令和调试

    概念看过了,还是不知道从哪下手?本文按 Claude Code 官方「Extend Claude with skills」写一个完整可用的例子:用 /release-notes 根据 git 记录生成更新日志,覆盖目录、frontmatter、传参、预执行命令、预授权和调试。

    Claude0
  4. 04

    Claude Code 部署网站:先写 Dockerfile 和 compose 在本机跑通,再按清单上云服务器,别让它直接改线上

    想让 Claude Code 帮你把网站部署到云服务器。本文只写通用做法,按 Docker 官方文档讲:让它写 Dockerfile、.dockerignore 和 compose,在本机跑通,端口和数据卷怎么设,再给出上线清单,并说明为什么不要让它直接动线上机器。

    Claude0
  5. 05

    Claude Code 写爬虫与数据清洗:先查 robots.txt 和网站条款,控制频率,原始数据留一份再清洗

    想让 Claude Code 写爬虫抓数据再清洗。本文先讲合规:robots.txt 不是授权也不是安全措施、网站条款要自己读;再讲怎么用 Python 标准库检查规则、小样本先试、保存原始数据,以及用 pandas 清洗,附四段提示词。

    Claude0
  6. 06

    Claude Code 写 Chrome 扩展:按 Manifest V3 起步,加载未打包的扩展,改了哪些文件要重新加载

    想让 Claude Code 帮你写一个 Chrome 扩展。本文按 Chrome 官方扩展文档讲:manifest.json 的最小写法、在 chrome://extensions 加载未打包的扩展、哪些改动要刷新、怎么看控制台和报错,再给四段提示词,以及权限要尽量少。

    Claude0

同产品的其他教程

  1. 01

    Claude Code 写安卓 App:Android Studio 建项目、让它用 gradlew 编译安装,报错和日志怎么喂给它

    想让 Claude Code 帮你写安卓 App。官方文档没有专门的安卓教程,本文把 Claude Code 官方工作流和安卓官方命令行文档拼在一起:Android Studio 建项目、gradlew 编译安装、模拟器和真机、测试与日志,附四段提示词。

    Claude0
  2. 02

    Claude Code 配 Figma MCP 还原设计稿:插件或一条命令安装,复制图层链接,小块小块地让它出代码

    想让 Claude Code 照 Figma 设计稿写前端代码。本文按 Figma 官方开发者文档讲:远程服务器地址、插件和手动两种安装、怎么复制图层链接、为什么要选小块、座位类型与调用次数限制,并给三段还原设计稿的提示词。

    Claude0
  3. 03

    Claude Code 管理 GitHub issue:用 gh 命令还是 GitHub MCP,怎么装、怎么限权、怎么让它分拣和回复 issue

    让 Claude Code 读 issue、分拣标签、起草回复、关联 PR,有两条路:装好 gh 命令行直接用,或连 GitHub 官方 MCP 服务器。本文按两边官方文档讲安装命令、令牌权限、只读模式,并给出三段分拣提示词和限权设置。

    Claude0
  4. 04

    Claude Code 配 Playwright MCP 做浏览器测试:一条命令安装,让它打开页面、点按钮、读控制台,再把流程写成测试

    想让 Claude Code 自己打开浏览器测试你的网页。本文按微软 Playwright MCP 官方仓库和 Claude Code 官方 MCP 文档讲:安装命令、怎么确认连上、有头无头与隔离参数、一次测试的提示词,以及它不是安全边界这件事。

    Claude0
  5. 05

    Claude Code 写文档、README 和代码注释:先让它读代码再动笔,指定风格,写完逐条核对命令能不能跑

    想让 Claude Code 给项目补 README、接口文档和注释,又怕它编造不存在的命令和参数。本文按官方「Handle documentation」工作流讲:先找没有文档的代码、指定风格、写完核对,附四段可复制提示词和验证办法。

    Claude0
  6. 06

    用 Claude Code 整理电脑文件、批量重命名、处理表格:先出清单再执行,副本操作和权限设置

    Claude Code 不只能写代码,官方说它能在任何文件夹里搜索、编辑和整理内容。本文讲非程序员怎么用它整理下载文件夹、批量重命名、处理表格:先出整理清单、用副本操作、权限怎么设,附四段提示词和撤销办法。

    Claude0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~