藉助 Gemini 編寫 SQL 程式碼

如要在 AlloyDB for PostgreSQL 中更快編寫、微調及瞭解 SQL 查詢,可以使用 Gemini。Gemini 是Google Cloud中的 AI 輔助協作工具,可在 AlloyDB Studio 中完成下列工作:

瞭解 Gemini for Google Cloud 如何使用您的資料。

本文適用對象為熟悉 AlloyDB,且對 SQL 和資料分析有一定瞭解的資料庫管理員和資料工程師。如果您是 AlloyDB 新手,請參閱「AlloyDB 總覽」。

事前準備

  1. 確認您已為 Google Cloud 使用者帳戶和專案設定 Gemini Cloud Assist。

  2. 選用:如要按照本文件中的範例操作,請使用下列結構定義建立 Singers 資料表:

    CREATE TABLE Singers (
      BirthDate  TIMESTAMPTZ,
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      SingerInfo BYTEA
    );
    

    建立 Singers 資料表後,請按一下「重新整理」,更新資料庫結構定義。

如要停用 AlloyDB 中的 Gemini 功能,請重複這個步驟,然後取消選取要停用的 Gemini 功能。

必要角色和權限

如要搭配使用 Gemini 和 AlloyDB,您必須具備下列權限:

  • alloydb.clusters.get
  • alloydb.databases.list
  • alloydb.instances.executeSql
  • alloydb.instances.list
  • alloydb.users.list
  • cloudaicompanion.companions.generateCode
  • cloudaicompanion.instances.generateCode
  • serviceusage.services.get或serviceusage.services.list

您可以透過 roles/alloydb.admin 角色取得這項權限。如果您不具備這個角色,請向組織管理員要求存取權。您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

此外,請確認您具備用於驗證的資料庫資料庫層級權限。

使用自然語言提示詞生成 SQL 查詢

您可以向 Gemini 提供自然語言註解 (或提示),根據結構定義生成查詢。舉例來說,您可以提示 Gemini 生成 SQL,以回應下列提示:

  • 「建立表格來追蹤顧客滿意度問卷調查結果。」
  • 「在 Singers 資料表中新增名為 birthday 的日期欄。」
  • 「有多少歌手是在 90 年代出生?」

如果結構定義有所變更 (例如新增資料表或資料欄),您必須先點選「重新整理」圖示 更新結構定義,才能使用 Gemini。

如要在 AlloyDB 中使用 Gemini 輔助功能生成 SQL,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,開啟「AlloyDB」AlloyDB頁面。

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,點選「AlloyDB」AlloyDB。

  4. 選取資料庫和使用者,然後輸入使用者密碼。

  5. 按一下「Authenticate」(驗證)。「Explorer」窗格會顯示資料庫中的物件清單。

  6. 如要查詢資料庫,請按一下「New SQL editor tab」(新增 SQL 編輯器分頁) 圖示 。確認已啟用 SQL 生成功能。

  7. 如要生成 SQL,請在查詢編輯器中輸入註解,開頭為 --,後面接著單行註解,然後按下 Return 鍵。

    舉例來說,如果輸入提示 -- add a row to table singers 並按下 Return 鍵,Gemini 會生成類似下列的 SQL:

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, Alex, 'M.', '1977-10-16');
    

    繼續使用 Singers 資料表的範例,如果輸入提示 -- show all singers born in the 70s,Gemini 會生成類似下列的 SQL:

    SELECT *
    FROM Singers
    WHERE Singers.BirthDate
    BETWEEN '1970-01-01' AND '1979-12-31'
    
  8. 查看 SQL 建議,然後採取下列任一動作:

    • 如要查看接受 Gemini 生成 SQL 的選項,請將滑鼠游標懸停在查詢上。系統會顯示下列選項:
      • 接受:如要接受建議的查詢,請按下 Tab,然後點選「執行」。
      • 接受字詞:如要接受部分建議查詢,請按下 Control + Right arrow 鍵 (macOS 則為 Command + Right arrow 鍵),然後點按「執行」。
    • 如要編輯原始 SQL,請按下 Tab,編輯 SQL,然後按一下「Run」(執行)。
    • 如要關閉建議,請按下 Esc 鍵或繼續輸入。

「幫我寫程式碼」的工具

如要使用「幫我寫程式碼」工具,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,開啟「AlloyDB」AlloyDB頁面。

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,點選「AlloyDB」AlloyDB。

  4. 選取資料庫和使用者,然後輸入使用者密碼。

  5. 按一下「Authenticate」(驗證)。「Explorer」窗格會顯示資料庫中的物件清單。

  6. 如要查詢資料庫,請按一下 「New tab」(新增分頁)。

  7. 按一下查詢編輯器旁的「pen_spark 幫我寫程式碼」。

  8. 在「幫我寫程式碼」視窗中輸入提示詞。例如,add a row to table singers,然後點選「生成」。

    Gemini 會生成類似下列內容的 SQL:

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, Alex, 'M.', '1977-10-16');
    
  9. 查看生成的 SQL,然後採取下列任一動作:

    • 如要接受 Gemini 生成的 SQL,請按一下「Insert」(插入),將陳述式插入查詢編輯器。然後點選「執行」,執行建議的 SQL。
    • 如要問問 Gemini 生成新查詢,請按一下「編輯」。修改提示後,按一下「更新」。接著,您可以決定接受新產生的陳述式,或關閉建議。
    • 如要關閉建議,請關閉「幫我寫程式碼」視窗。

在查詢編輯器中說明 SQL 陳述式

您可以輸入自然語言查詢,要求系統說明 SQL 查詢。這類說明可協助您瞭解複雜或冗長查詢的語法、基礎結構定義和業務情境。

  1. 在 Google Cloud 控制台中,開啟「AlloyDB」AlloyDB頁面。

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,點選「AlloyDB」AlloyDB。

  4. 選取資料庫和使用者,然後輸入使用者密碼。

  5. 按一下「Authenticate」(驗證)。「Explorer」窗格會顯示資料庫中的物件清單。

  6. 如要查詢資料庫,請按一下 「New tab」(新增分頁)。

  7. 在查詢編輯器貼上查詢。

  8. 反白選取要讓 Gemini 說明的查詢,然後按一下 astrophotography_mode「Explain this selected query」(說明所選查詢)。

    SQL 說明會顯示在 Gemini Cloud Assist 窗格。

使用 Gemini 修正查詢中的錯誤

Gemini 提供擴充功能,可協助您修正 AlloyDB 查詢中的錯誤,不必離開查詢編輯器。

Gemini 的 AI 輔助功能已整合至查詢編輯器,可提供下列優點:

  • 使用查詢編輯器,逐行比較原始查詢與建議變更的新查詢。
  • 醒目顯示原始查詢中可能導致問題的部分,並以自然語言提供變更摘要。
  • 參考與查詢相關的確切錯誤訊息和結構定義資訊,提供準確、相關的修正建議。
  • 不必仰賴第三方一般用途 LLM,這類模型可能無法提供精細的協助,也可能讓資料暴露於潛在的安全風險中。
  • 更快速有效率地排解常見問題,例如語法、結構定義和執行階段錯誤。

所需權限

開始前,請確認您具備下列權限:

使用 Gemini 修正查詢

如要使用 Gemini 的功能修正查詢中的特定錯誤,請完成下列步驟:

  1. 在 Google Cloud 控制台,開啟「AlloyDB for PostgreSQL」頁面。

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,點選「AlloyDB Studio」。

  4. 選取資料庫和使用者,然後輸入使用者密碼。

  5. 按一下「Authenticate」(驗證)。「Explorer」窗格會顯示資料庫中的物件清單。

  6. 在工作列中,按一下 settings_suggestion「Gemini」Gemini,查看 AlloyDB 中的 Gemini 功能。

  7. 如要查詢資料庫,請按一下 「New tab」(新增分頁)。

  8. 在查詢編輯器中,輸入可能不正確或不完整的查詢。

  9. 按一下「執行」。

    如果查詢有問題,「Results」(結果) 分頁會傳回錯誤。

  10. 按一下「修正」。

    在查詢視窗中,分頁會開啟差異編輯器,逐行比較現有查詢與建議變更。查詢編輯器也會提供建議編輯內容的摘要。

  11. 查看建議的查詢變更,並視需要更新。

  12. 如要接受變更並執行新查詢,請按一下「Accept and run」(接受並執行)。

限制

後續步驟