用 ChatGPT 寫 SQL:描述表結構生成查詢、解釋報錯和優化慢查詢,先在測試庫跑再上線

怎麼用 ChatGPT 寫 SQL?把數據庫類型、表結構和你要的結果說清,讓它生成查詢、解釋報錯、分析慢查詢。本文給 4 段提示詞,並說明它連不上你的數據庫,生成的語句要先在測試庫驗證,增刪改必須有備份。

NNathaniel bigo··原創首發·AI 輔助撰寫
6 分鐘讀完
資料核對於 2026-11-05 · 依據官方文檔與公開資料整理 免費帳號 帳號
本文根據 OpenAI Academy《Prompting》、幫助中心《Data analysis with ChatGPT》《Working with writing blocks and code blocks in ChatGPT》整理,資料核對於 2026-11-05。配圖為本站整理的示意圖,不是介面截圖。本站(bigolab.com)不是 OpenAI 官方網站。官方沒有專門的「寫 SQL」文章,下面是把官方提示方法用到 SQL 上,提示詞是本站示範。

適用於誰

  • 會一點 SQL,但複雜的多表聯查、窗口函數經常寫不對的人;
  • 運營、分析崗,想用自然語言描述需求、拿到可修改查詢的人;
  • 被數據庫報錯卡住,看不懂提示的人。

結論先說

  1. ChatGPT 不會連你的數據庫。 官方數據分析頁寫明,數據分析用的環境不能發起外部網絡請求或 API 調用。它只能根據你貼的表結構寫語句,不能替你執行、也看不到你的真實數據。
  2. 必須說清數據庫類型和版本。 MySQL、PostgreSQL、SQL Server、SQLite 的日期函數、分頁、字符串處理都不同。寫錯數據庫,語句經常跑不了。
  3. 只貼表結構,不貼真實數據。 表名、列名、類型、主外鍵足夠;客戶姓名、手機號等敏感數據別發。需要示例就自己編幾行假數據。
  4. 查詢類先在測試庫跑;增刪改要先備份。 UPDATE、DELETE、DROP 一律先改成 SELECT 看影響範圍,再決定執行。
  5. 結果要自己核對。 官方提示指南建議重要工作讓它再檢查一遍,然後自己審閱。

用 ChatGPT 寫 SQL 的流程:說明數據庫和表結構、生成查詢、測試庫驗證、核對結果、再上線

圖:本站根據 OpenAI 幫助中心:Data analysis with ChatGPT 整理的示意圖

一、4 段可以直接複製的提示詞

1. 描述表結構,生成查詢

數據庫:[PostgreSQL 15]。表結構如下:
orders(id bigint 主鍵, user_id bigint, amount numeric, status text, created_at timestamp)
users(id bigint 主鍵, city text, registered_at timestamp)
需求:統計 [2026 年 10 月] 每個城市已支付(status = 'paid')訂單的數量、總金額和客單價,按總金額從高到低,只取前 10 個城市。
請給出 SQL,並用 3 句話解釋每一步在做什麼。說明你對字段含義做了哪些假設。

2. 解釋報錯並修正

我在 [MySQL 8.0] 裏運行下面的 SQL,報錯:[粘貼完整報錯]。
SQL:[粘貼]
表結構:[粘貼]
請先解釋報錯的原因,再給修正後的 SQL,並指出這類錯誤以後怎麼避免。如果還需要我提供資訊才能確定原因,先問我。

3. 優化慢查詢

這條 [PostgreSQL] 查詢很慢:[粘貼 SQL]。EXPLAIN (ANALYZE) 的輸出:[粘貼]。表大約 [500 萬] 行,現有索引:[粘貼]。
請指出最可能的瓶頸,給出 2 到 3 個優化方案,並說明每個方案的代價(比如多佔空間、寫入變慢)。不要直接讓我刪索引或改表,先給我評估方法。

4. 解釋別人寫的 SQL

請用通俗中文逐段解釋下面這段 SQL,說明它在業務上算的是什麼,並指出:有沒有可能重複計數、空值處理不當、時區或日期邊界的問題。
[粘貼]

提示詞的通用寫法見 /guides/how-to-write-prompts。代碼塊的複製和編輯方式,見官方《Working with writing blocks and code blocks in ChatGPT》。

二、自己必須核對什麼

SQL 上線前自己必須核對的清單:數據庫語法、測試庫驗證、影響行數、索引、權限、備份

圖:本站根據 OpenAI Academy:Prompting 整理的示意圖

  • 語法是否匹配你的數據庫:不確定的函數,查對應數據庫官方文檔;
  • 字段和表名:它可能用你沒提供的列名,運行前逐個對照;
  • 業務口徑:“已支付”“活躍用戶”怎麼定義,它只能按你寫的猜;
  • 重複和空值:聯表後行數是否被放大,NULL 是否被誤排除;
  • 增刪改:先寫成 SELECT 看行數,再在測試庫執行,生產庫操作前備份並在事務裏驗證;
  • 性能:大表上的查詢先看執行計劃,別在業務高峰跑;
  • 權限和數據安全:不要把帳號密碼、真實用戶數據貼進對話,見 /guides/ai-privacy-data-safety-checklist。

常見問題

Q:能直接上載 CSV 讓它查嗎?

可以。官方數據分析功能支持 CSV 等表格文件,它會用 Python 處理,見 /guides/chatgpt-excel-data-analysis;這和對真實數據庫跑 SQL 是兩回事。

Q:它寫的 SQL 在我這裏跑出來結果不對?

把你期望的結果、實際結果、幾行樣例數據一起貼回去,讓它排查口徑和關聯條件,比只說“不對”有效。

Q:免費版夠用嗎?

寫和解釋 SQL 免費帳號能做;長對話和反覆調試會遇到使用限制,需要更多額度可以看看 /chongzhi/chatgpt-plus。

參考資料

  • OpenAI Academy:Prompting — https://openai.com/academy/prompting/
  • OpenAI 幫助中心:Data analysis with ChatGPT — https://help.openai.com/en/articles/8437071-data-analysis-with-chatgpt
  • OpenAI 幫助中心:Working with writing blocks and code blocks in ChatGPT — https://help.openai.com/en/articles/20001246-working-with-writing-blocks-and-code-blocks-in-chatgpt
  • OpenAI 幫助中心:Uploading files and audio to ChatGPT — https://help.openai.com/en/articles/8555545-file-uploads-faq

Nathaniel 的更多內容

  1. 01

    用 ChatGPT 設計調查問卷:先定研究問題、寫題目和選項、查誘導和歧義,發放前先小範圍試填

    怎麼用 ChatGPT 設計調查問卷?先說明調查目的、對象和要回答的問題,再讓它出題目和選項、檢查誘導性和歧義、整理成問卷平台能導入的格式。本文給 4 段提示詞,並提醒樣本、私隱合規和試填要自己做。

    ChatGPT0
  2. 02

    家長用 ChatGPT 批改孩子作文、寫期末評語:按年級和評分點給反饋,不代寫,孩子資訊要脫敏

    家長能用 ChatGPT 批改孩子作文、寫評語嗎?可以把它當輔助:先給年級和老師的評分要求,按優點、問題、修改方向給反饋,不代寫、不直接打分定論。本文給 4 段提示詞,並提醒脫敏、不上載孩子私隱,最終以老師為準。

    ChatGPT0
  3. 03

    用 ChatGPT 做項目計劃和甘特圖:先拆任務和依賴,再生成 Mermaid 甘特圖或表格,工期自己核對

    怎麼用 ChatGPT 做項目計劃和甘特圖?先說明目標、截止日期、人員和約束,讓它拆任務、排依賴,再輸出 Mermaid gantt 代碼塊預覽,或輸出表格複製到 Excel。本文給 4 段提示詞,並說明工期和依賴要自己核對。

    ChatGPT0
  4. 04

    用 ChatGPT 讀財報:看懂三張表、提取關鍵數字,只用上載的原文、每個數字回原文核對,不構成投資建議

    想用 ChatGPT 讀財報、看懂資產負債表利潤表現金流量表?先上載公司披露的原文,限定只用文件內容、每個數字附頁碼,再分表提問。本文給 4 段提示詞,並說明掃描件會讀錯、所有數字必須回原文核對,不構成投資建議。

    ChatGPT0
  5. 05

    用 ChatGPT 寫 Python 小腳本做辦公自動化:批量重命名文件、合併多個 Excel,先備份再運行

    不會編程也能讓 ChatGPT 寫 Python 腳本批量重命名文件、合併多個 Excel。本文給 4 段提示詞:先描述文件夾結構,要求腳本先「只預覽不改動」,再正式執行;並說明它的運行環境不是你的電腦,運行前必須備份。

    ChatGPT0
  6. 06

    用 ChatGPT 寫正則表達式:說明語言和樣例、讓它逐段解釋並給測試用例,自己用樣本驗證

    怎麼用 ChatGPT 寫正則表達式?先說明語言或工具、給出該匹配和不該匹配的樣例,讓它生成、逐段解釋並補測試用例。本文給 4 段提示詞,並說明不同語言正則方言不同,結果要在自己的環境裏用樣本驗證。

    ChatGPT0

同產品的其他教學

  1. 01

    用 ChatGPT 背單詞:做單詞表、寫例句、出自測題和錯題複習,詞義和用法自己查詞典核對

    怎麼用 ChatGPT 背單詞?先給它你的詞表和水平,讓它做帶例句的單詞表、分批出自測題、把錯詞單獨複習,再導出表格。本文給 4 段提示詞,並說明詞義、搭配和例句仍要用權威詞典核對。

    ChatGPT0
  2. 02

    用 ChatGPT 批改英文作文、雅思託福寫作和英文潤色:貼上官方評分標準再問,分數只能當參考

    想用 ChatGPT 批改英文作文、雅思託福寫作,或做英文校正潤色?關鍵是先把考試官方評分標準貼給它,分開問語法、結構和用詞,並要求保留你的原意。本文給 4 段提示詞,並說明 AI 給的分數不等於真實考試分數。

    ChatGPT0
  3. 03

    用 ChatGPT 做一週選單、按冰箱食材出菜譜:拍照上載、列限制條件,過敏和食品安全自己核對

    想讓 ChatGPT 做一週選單,或拍一張冰箱照片按現有食材出菜譜?先說明人數、口味、預算、過敏和廚具,再讓它列採購清單。本文給 4 段提示詞,並說明圖片識別會認錯、過敏和保質期必須自己核對。

    ChatGPT0
  4. 04

    用 ChatGPT 做健身計劃:先交代身體情況和器材、按周迭代,不能代替醫生和教練

    能用 ChatGPT 做健身計劃嗎?可以用來排周計劃、記錄和覆盤,但不能代替醫生或教練。本文給 4 段提示詞:先說明目標、基礎、傷病和器材,再按周調整,並列出動作、強度和飲食必須自己核對的地方。

    ChatGPT0
  5. 05

    用 ChatGPT 寫歌詞、寫詩:先定主題和韻腳、分段迭代,別讓它照抄現成歌詞

    想用 ChatGPT 寫歌詞或寫詩,先把主題、情緒、體裁、押韻和字數說清,再按段落一輪輪改。本文給 4 段可複製的提示詞,並提醒:別讓它仿寫或複述現成歌詞,成稿的韻腳、平仄和原創性要自己核對。

    ChatGPT0
  6. 06

    用 ChatGPT 起名字:公司名、品牌名、寶寶名怎麼問,附 5 段可複製提示詞和查重、商標自查提醒

    怎麼用 ChatGPT 給公司、品牌、產品、寶寶起名?按官方提示指南:說清用途、風格、限制和不要的方向,批量出候選再分輪篩選。本文給 5 段提示詞,並說明重名、諧音、商標和註冊要自己去官方渠道查。

    ChatGPT0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~