本文档介绍了如何使用 Gemini(Google Cloud中AI 赋能的协作工具)帮助您在 Cloud SQL Studio 中执行以下操作:
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
本文档适用于熟悉 SQL、数据分析和 Cloud SQL 的数据库管理员和数据工程师。如果您是刚接触 Cloud SQL,请参阅 Cloud SQL 概览。
准备工作
- 如需完成本文档中的任务,请确保您拥有必要的 Identity and Access Management (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 BYTEA, BirthDate TIMESTAMPTZ );- 创建 - Singers表后,点击 refresh刷新以更新数据库架构。
所需的角色和权限
    
      如需获得完成本文档中的任务所需的权限,请让您的管理员为您授予项目的 Cloud SQL Admin (roles/cloudsql.admin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
  
  
您还需要拥有 cloudaicompanion.companions.generateChat 权限才能使用在查询编辑器中解释 SQL 语句的功能,并且需要拥有 cloudaicompanion.companions.generateCode 权限才能使用帮我写代码。
使用自然语言提示生成 SQL 查询
您可以提供 Gemini 自然语言注释(或提示),以生成基于您的架构的查询。例如,您可以提示 Gemini 生成 SQL 来回答以下提示:
- “创建一个表来跟踪客户满意度调查问卷结果。”
- “将一个名为 birthday 的列添加到 Singers 表中。”
- “90 年代出生的歌手有多少?”
如果您的架构发生更改(例如添加新表或新列),请在使用 Gemini 之前点击 refresh刷新以更新您的架构。
如需在 Cloud SQL 中借助 Gemini 生成 SQL,请按照以下步骤操作:
- 在 Google Cloud 控制台中,前往 Cloud SQL 页面。 
- 从列表中选择一个实例。 
- 在导航菜单中,点击 Cloud SQL Studio。 
- 使用您的数据库名称、用户名和密码登录 Cloud SQL Studio。探索器窗格会显示数据库中的对象列表。 
- 在任务栏中,点击 pen_sparkGemini 以查看 Cloud SQL 中的 Gemini 功能。 
- 确保已启用根据注释生成查询。 
- 如需查询数据库,请点击 新的 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键,然后点击运行。
- Accept word:如需部分接受建议的查询,请按 Control+Right arrow(在 macOS 上,按Command+Right arrow),然后点击运行。
 
- 接受:如需接受建议的查询,请按 
- 如需修改原始 SQL,请按 Tab,修改 SQL,然后点击运行。
- 如需忽略建议,请按 Esc或继续输入。
 
- 如需查看用于接受 Gemini 生成的 SQL 的选项,请将指针悬停在查询上。系统会显示以下选项:
“帮我编码”工具
如需使用帮我编码工具,请按照以下步骤操作:
- 在 Google Cloud 控制台中,前往 Cloud SQL 页面。 
- 从列表中选择一个实例。 
- 在导航菜单中,点击 Cloud SQL Studio。 
- 使用您的数据库名称、用户名和密码登录 Cloud SQL Studio。探索器窗格会显示数据库中的对象列表。 
- 如需查询数据库,请点击 新建标签页。 
- 点击查询编辑器旁边的 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 语句
您可以在 Cloud SQL 中使用 Gemini 以自然语言解释 SQL 查询。此解释可帮助您了解复杂查询或长查询的语法、底层架构和业务上下文。
- 在 Google Cloud 控制台中,前往 Cloud SQL 页面。 
- 从列表中选择一个实例。 
- 在导航菜单中,点击 Cloud SQL Studio。 
- 使用您的数据库名称、用户名和密码登录 Cloud SQL Studio。探索器窗格会显示数据库中的对象列表。 
- 如需查询数据库,请点击 新建标签页。 
- 在查询编辑器中,粘贴您要解释的查询。 
- 突出显示您希望 Gemini 解释的查询,然后点击 spark 解释此次查询。 - Gemini Chat 窗口中会显示 SQL 查询的解释。 
使用 Gemini 修正查询中的错误
Gemini 现在提供了一项扩展功能,可帮助您在 Cloud SQL Studio 中修正 Cloud SQL 查询中的错误,而无需离开 Cloud SQL Studio。
Gemini 的 AI 赋能功能已集成到 Cloud SQL Studio 中,可提供以下优势:
- 在 Cloud SQL Studio 编辑器中,将原始查询与包含建议更改的新查询逐行进行比较。
- 突出显示可能导致问题的原始查询部分,并提供自然语言的更改摘要。
- 参考与查询关联的确切错误消息和架构信息,以提供准确、相关的更正。
- 无需依赖第三方通用 LLM,这些 LLM 提供的帮助可能不够细致,还可能会让您的数据面临潜在的安全风险。
- 可针对语法、架构和运行时错误等常见问题提供更快、更高效的问题排查。
所需权限
开始之前,请确认您拥有以下权限:
- 所需权限中所述的权限。
- Gemini for Google Cloud API 权限,cloudaicompanion.googleapis.com/instances.generateCode。
使用 Gemini 和 Cloud SQL Studio 修正查询
如需使用 Gemini 的功能来修正 Cloud SQL Studio 中查询的某些错误,请完成以下操作:
- 在 Google Cloud 控制台中,前往 Cloud SQL 页面。 
- 从列表中选择一个实例。 
- 在导航菜单中,点击 Cloud SQL Studio。 
- 使用您的数据库名称、用户名和密码登录 Cloud SQL Studio。探索器窗格会显示数据库中的对象列表。 
- 在任务栏中,点击 pen_sparkGemini 以查看 Cloud SQL 中的 Gemini 功能。 
- 如需查询数据库,请点击 新建标签页。 
- 在查询编辑器中,输入可能不正确或不完整的查询。 
- 点击运行。 - 如果查询包含问题,则会返回错误。 - 例如,返回的消息可能是运行标签页中的验证错误,也可能是结果标签页中的错误消息。 
- 点击修正。 
- 在查询窗口中,系统会在标签页中打开差异编辑器,逐行比较现有查询与建议的更改。查询编辑器还会提供建议修改的摘要。 查看建议的查询更改,并根据需要进行更新。然后,接受并运行新查询: - 点击接受并运行。 
限制
- 此功能只能在Google Cloud 控制台的 Cloud SQL Studio 中使用。
- 须遵守 Gemini 上下文窗口的当前限制。