本文說明如何使用 Gemini (Cloud de Confiance by S3NS中的 AI 輔助協作工具),在 Cloud SQL Studio 中執行下列作業:
瞭解 Gemini for Cloud de Confiance 如何及何時使用您的資料。
本文適用於熟悉 SQL、資料分析和 Cloud SQL 的資料庫管理員和資料工程師。如果您是 Cloud SQL 新手,請參閱 Cloud SQL 簡介。
事前準備
- 如要完成本文中的工作,請確認您具備必要的身分與存取權管理 (IAM) 權限。
- 確認是否可以存取 Cloud SQL Studio。如果無法存取 Cloud SQL Studio,請參閱「Cloud SQL Studio 的必要角色和權限」一文。
(選用) 如要跟著本文中的範例操作,請使用下列結構定義建立
Singers
資料表:CREATE TABLE Singers ( SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo MEDIUMBLOB, BirthDate DATETIME );
建立
Singers
資料表後,請按一下「重新整理」,更新資料庫結構定義。
必要角色和權限
如要取得完成本文工作所需的權限,請要求管理員授予專案的 Cloud SQL 管理員 (roles/cloudsql.admin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
您也需要 cloudaicompanion.companions.generateChat
權限,才能在查詢編輯器中說明 SQL 陳述式,並需要 cloudaicompanion.companions.generateCode
權限,才能使用程式碼撰寫輔助。
使用自然語言提示生成 SQL 查詢
您可以提供自然語言註解 (或提示),要求 Gemini 根據結構定義產生查詢。舉例來說,您可以提示 Gemini 根據下列提示生成 SQL:
- 「請建立表格,追蹤顧客滿意度調查結果。」
- 「在 Singers 表格中新增名為 birthday 的日期欄。」
- 「有多少歌手出生於 90 年代?」
如果結構定義有變更 (例如新增資料表或資料欄),請先按一下「重新整理」更新結構定義,再使用 Gemini。
如要在 Gemini 協助下生成 Cloud SQL 查詢,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Cloud SQL」頁面。
從清單中選取執行個體。
按一下導覽選單中的「Cloud SQL Studio」。
使用資料庫名稱、使用者名稱和密碼登入 Cloud SQL Studio。 「Explorer」窗格會顯示資料庫中的物件清單。
在工作列中,按一下「pen_spark 『Gemini』Gemini」,即可查看 Cloud SQL 中的 Gemini 功能。
確認已啟用「產生查詢註解」。
如要查詢資料庫,請按一下
「New SQL editor tab」(新的 SQL 編輯器分頁)。如要生成 SQL,請在查詢編輯器中輸入以
--
開頭的註解,然後按下 Return 或 Enter 鍵。例如輸入下列提示:
-- add a row to table singers
按下 Return 或 Enter 鍵。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'
查看 SQL 建議,然後採取下列任一動作:
- 如要查看接受 Gemini 生成的 SQL 查詢選項,請將指標懸停在查詢上。系統會顯示下列選項:
- 接受:如要接受建議的查詢,請按下
Tab
,然後點選「執行」。 - 接受字詞:如要部分接受建議的查詢,請按
Control
+Right arrow
(或 macOS 上的Command
+Right arrow
),然後按一下「執行」。
- 接受:如要接受建議的查詢,請按下
- 如要編輯原始 SQL,請按下
Tab
,編輯 SQL,然後點選「執行」。 - 如要關閉建議,請按下
Esc
鍵或繼續輸入。
- 如要查看接受 Gemini 生成的 SQL 查詢選項,請將指標懸停在查詢上。系統會顯示下列選項:
「幫我寫程式碼」的工具
如要使用「幫我寫程式碼」工具,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Cloud SQL」頁面。
從清單中選取執行個體。
按一下導覽選單中的「Cloud SQL Studio」。
使用資料庫名稱、使用者名稱和密碼登入 Cloud SQL Studio。 「Explorer」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「新分頁」
。按一下查詢編輯器旁的「pen_spark 幫我編寫程式碼」。
在「幫我寫程式」視窗中輸入提示。例如
add a row to table singers
,然後按一下「生成」。Gemini 會生成類似下列內容的 SQL:
INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, Alex, 'M.', '1977-10-16');
查看生成的 SQL,然後執行下列任一操作:
- 如要接受 Gemini 生成的 SQL,請點選「插入」,將陳述式插入查詢編輯器。然後點選「執行」,執行建議的 SQL。
- 如要請 Gemini 生成新查詢,請按一下「編輯」。 編輯提示後,按一下「更新」。你可以選擇接受新生成的聲明,或關閉建議。
- 如要關閉建議,請關閉「幫我寫程式碼」視窗。
在查詢編輯器中說明 SQL 陳述式
您可以使用 Gemini in Cloud SQL,以自然語言說明 SQL 查詢。對於複雜或冗長的查詢,這項說明功能可協助您瞭解語法、基礎結構定義和業務情境。
前往 Cloud de Confiance 控制台的「Cloud SQL」頁面。
從清單中選取執行個體。
按一下導覽選單中的「Cloud SQL Studio」。
使用資料庫名稱、使用者名稱和密碼登入 Cloud SQL Studio。 「Explorer」窗格會顯示資料庫中的物件清單。
如要查詢資料庫,請按一下「新分頁」
。在查詢編輯器貼上要 Gemini 說明的查詢。
反白選取要讓 Gemini 說明的查詢,然後按一下「spark 說明這項查詢」。
Gemini 對話視窗會顯示 SQL 查詢的說明。
使用 Gemini 修正查詢中的錯誤
Gemini 現在提供擴充功能,可協助您修正 Cloud SQL 查詢中的錯誤,不必離開 Cloud SQL Studio。
Gemini 的 AI 技術輔助功能已整合至 Cloud SQL Studio,可提供下列優點:
- 使用 Cloud SQL Studio 編輯器,並排比較原始查詢和建議變更的新查詢。
- 醒目顯示原始查詢中可能導致問題的區隔,並以自然語言提供變更摘要。
- 參考與查詢相關的確切錯誤訊息和結構定義資訊,提供準確且相關的修正建議。
- 不必再依賴第三方通用 LLM,這類模型提供的協助可能不夠細緻,也可能導致資料面臨潛在的安全風險。
- 針對語法、結構定義和執行階段錯誤等常見問題,提供更快速有效率的疑難排解方式。
所需權限
開始之前,請確認您具備下列權限:
- 必要權限中列出的權限。
- Gemini for Google Cloud API 權限,
cloudaicompanion.googleapis.com/instances.generateCode
。
使用 Gemini 和 Cloud SQL Studio 修正查詢
如要在 Cloud SQL Studio 中使用 Gemini 的功能修正查詢中的特定錯誤,請完成下列步驟:
前往 Cloud de Confiance 控制台的「Cloud SQL」頁面。
從清單中選取執行個體。
按一下導覽選單中的「Cloud SQL Studio」。
使用資料庫名稱、使用者名稱和密碼登入 Cloud SQL Studio。 「Explorer」窗格會顯示資料庫中的物件清單。
在工作列中,按一下「pen_spark 『Gemini』Gemini」,即可查看 Cloud SQL 中的 Gemini 功能。
如要查詢資料庫,請按一下「新分頁」
。在查詢編輯器中輸入可能不正確或不完整的查詢。
按一下「執行」。
如果查詢有問題,系統會傳回錯誤。
舉例來說,傳回的訊息可能是「執行」分頁中的驗證錯誤,或是「結果」分頁中的錯誤訊息。
按一下「修正」。
查詢視窗會在分頁中開啟差異編輯器 (「差異比較編輯器」),逐行比較現有查詢與建議的變更。查詢編輯器也會提供建議的編輯內容摘要。 查看系統建議的查詢變更,並視需要更新。接著,接受並執行新查詢:
按一下「接受並執行」。
限制
- 這項功能只能在Cloud de Confiance 控制台的 Cloud SQL Studio 中使用。
- 適用目前的 Gemini 脈絡窗口限制。