在這篇文章中,我們將深入挖掘如何充分利用 ChatGPT 來加速甚至可能取代你的 SQL 相關工作。ChatGPT 攜帶多種強大功能,為提升你的SQL數據庫操作提供助力。以下是幾種借助它完成各項任務的方法:
- 獲取商業洞察:迅速從數據中提煉出可行信息。
- 設計與遷移表架構:簡化數據庫結構的構建與更新過程。
- 執行數據分析:運用高級技術深入理解并解釋數據。
- 制定數據庫觸發器與存儲過程:自動化并提升數據庫操作效率。
- 優化及修正SQL查詢:增強查詢的執行效率和準確度。
使用ChatGPT編寫SQL的優劣:
優勢:
- 速度:ChatGPT能迅速生成SQL查詢,得益于GPT-4的豐富知識和強大能力。
- 靈活性:它能理解多種數據庫類型,并能根據特定數據庫定制SQL查詢,免去了記憶各種語法的煩惱。
- 高階數據分析:ChatGPT配備了先進的數據分析工具,可進行深度分析和數據可視化,對深入挖掘洞察和報告至關重要。
劣勢:
- 準確性:有時ChatGPT可能會生成錯誤的SQL,需要你手動進行調試。
- 上下文理解:如果對數據庫架構理解不夠深入,特別是在信息不完整時,ChatGPT的準確度可能會有所下降。
準備階段
想要有效地運用ChatGPT進行相關工作,你需要提供兩項關鍵信息:
- 相關表結構:數據庫表的構架詳情。
- 具體問題:你希望查詢或了解的具體內容。
獲取相關表結構
原始的ChatGPT
你可以通過執行針對PostgreSQL信息架構的查詢來獲得表結構。下面是一個SQL命令,用于檢索表中列的基本信息:
SELECT table_name, column_name, data_type, is_nullable FROM information_schema.columns WHERE table_schema = 'public';
我們獲取的結果如下:

我們將把這些信息復制到ChatGPT中,讓它了解我們的 schema。
此外,你還可以嘗試使用 AskYourDatabase 這款 SQL AI 工具 來直接與數據庫對話,這樣可以節省大量的手動和繁瑣工作。
要安裝,只需搜索SQL并點擊安裝:
安裝AskYourDatabase ChatGPT插件。

安裝完成后,只需輸入你的數據庫連接字符串并詢問:“數據庫中有什么?”:
ChatGPT + AskYourDatabase - 自動理解你的 schema

ChatGPT 與 AskYourDatabase 結合使用,可以自動提取并解釋你的表結構。
以下是一些提高生成 SQL 準確性的建議:
- 使用清晰的命名:確保表和列名稱描述性強并直觀易懂。
- 實施外鍵:通過定義外鍵約束來明確表之間的關系,幫助ChatGPT更好地理解表關聯。
通過提問生成SQL
假設我是一個電子商務經理,有五種不同的產品和眾多訂單。每個訂單詳細說明了特定產品及其價格。
我感興趣的是基于總銷售額確定這五種產品的銷售排名。讓我們繼續提問:
原始ChatGPT
提問:
表結構 + 你的問題 = 良好的SQL結果。

獲取SQL結果:
獲取SQL。

現在在TablePlus中執行它:
在表中獲取結果。

這個過程很繁瑣,涉及三個步驟:
- 檢索你的架構。
- 復制生成的SQL代碼。
- 在你的SQL終端中運行它。
如果你想基于結果進行進一步分析,你必須將結果復制回ChatGPT。
AskYourDatabase ?? ChatGPT
有了AYD,你可以直接在聊天中得到答案:
與你的數據庫聊天。

與其進行大量的復制粘貼任務,不如直接與你的數據庫進行對話。
數據可視化
現在我們想繪制一個餅圖,快速回顧不同產品銷售額的貢獻。
原始ChatGPT
通過手動復制剛檢索到的數據,并請求創建餅圖:
對你的數據庫進行數據可視化。

AskYourDatabase
在 AskYourDatabase 桌面應用中,只需提出問題,即可立即收到結果和圖表:
AskYourDatabase 桌面 - 通過提問進行可視化。

商業洞察
現在我們的目標是利用ChatGPT檢查我們的訂單數據,尋找銷售中的問題:
問題:分析訂單細節以識別潛在問題。
答案:
從你的數據庫中獲取商業洞察。

結論
有了充足的架構信息和準確的問題,ChatGPT確實可以產生相當有效的SQL。然而,使用原始的ChatGPT涉及大量單調的任務,包括不斷的復制和粘貼。
通過使用像 AskYourDatabase 這樣的工具,你可以直接在ChatGPT內與數據庫進行互動,消除了重復手動工作的需要。對于那些關心數據安全的人來說,他們提供了桌面版本。
這個選項確保你的數據不會離開你的環境,維護你的憑據和連接的安全性和隱私。
