在 Gemini 协助下编写 SQL

本文档介绍了如何使用 Gemini(Google Cloud中 AI 赋能的协作工具)帮助您在 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 表后,点击 refresh刷新以更新数据库架构。

如需在 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 来回答以下提示:

  • “创建一个表来跟踪客户满意度调查问卷结果。”
  • “将一个名为 birthday 的列添加到 Singers 表中。”
  • “90 年代出生的歌手有多少?”

如果您的架构发生更改(例如添加新表或新列),您必须在使用 Gemini 之前点击 refresh刷新以更新您的架构。

如需在 AlloyDB 中借助 Gemini 生成 SQL,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,打开 AlloyDB 页面。

    前往 AlloyDB

  2. 从列表中选择一个集群。

  3. 在导航菜单中,点击 AlloyDB

  4. 选择数据库和用户,然后输入用户的密码。

  5. 点击身份验证探索器窗格会显示数据库中的对象列表。

  6. 如需查询数据库,请点击 新的 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 键,然后点击运行
      • Accept word:如需部分接受建议的查询,请按 Control+Right arrow(在 macOS 上,按 Command+Right arrow),然后点击运行
    • 如需修改原始 SQL,请按 Tab,修改 SQL,然后点击运行
    • 如需忽略建议,请按 Esc 或继续输入。

“帮我编码”工具

如需使用帮我写代码工具,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,打开 AlloyDB 页面。

    前往 AlloyDB

  2. 从列表中选择一个集群。

  3. 在导航菜单中,点击 AlloyDB

  4. 选择数据库和用户,然后输入用户的密码。

  5. 点击身份验证探索器窗格会显示数据库中的对象列表。

  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

  2. 从列表中选择一个集群。

  3. 在导航菜单中,点击 AlloyDB

  4. 选择数据库和用户,然后输入用户的密码。

  5. 点击身份验证探索器窗格会显示数据库中的对象列表。

  6. 如需查询数据库,请点击 新建标签页

  7. 在查询编辑器中,粘贴查询。

  8. 突出显示您希望 Gemini 解释的查询,然后点击 pen_spark 解释此查询

    Gemini Chat 窗口中会显示 SQL 解释。

后续步骤