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 條評論

登入 後參與評論

還沒有評論,來搶沙發~