藉助 Gemini 編寫 SQL 程式碼

本文說明如何使用Google Cloud中的 AI 技術輔助協作工具 Gemini,在 AlloyDB for PostgreSQL 中執行以下作業:

瞭解 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

您可以透過roles/alloydb.admin角色取得這項權限。如果您沒有這個角色,請與機構管理員聯絡,要求存取權。您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

此外,請確認您擁有用於驗證的資料庫資料庫層級權限

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

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

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

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

如要透過 Gemini 輔助在 AlloyDB 中產生 SQL,請按照下列步驟操作:

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

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,按一下「AlloyDB」AlloyDB

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

  5. 按一下「驗證」。「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,然後點選「執行」
    • 如要關閉建議,請按 Esc 鍵或繼續輸入。

「幫我寫程式碼」的工具

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

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

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,按一下「AlloyDB」AlloyDB

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

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

  6. 如要查詢資料庫,請按一下「新分頁」

  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,請按一下「插入」,將陳述式插入查詢編輯器。然後按一下「執行」,執行建議的 SQL。
    • 如要請 Gemini 生成新查詢,請按一下「編輯」。 編輯提示後,按一下「更新」。你可以選擇接受新生成的聲明,或關閉建議。
    • 如要關閉建議,請關閉「幫我寫程式碼」視窗。

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

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

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

    前往 AlloyDB

  2. 從清單中選取叢集。

  3. 在導覽選單中,按一下「AlloyDB」AlloyDB

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

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

  6. 如要查詢資料庫,請按一下「新分頁」

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

  8. 醒目顯示您希望 Gemini 說明的查詢,然後按一下「pen_spark Explain this query」(說明這項查詢)

    SQL 說明會顯示在 Gemini「對話」視窗中。

後續步驟