在 Gemini 协助下编写 SQL

本文档介绍了如何使用 Gemini(Google Cloud中依托 AI 技术的协作工具)帮助您在 AlloyDB for PostgreSQL 中执行以下操作:

了解 Google Cloud 专用 Gemini Google Cloud 如何以及何时使用您的数据

本文档适用于熟悉 AlloyDB 且对 SQL 和数据分析有一定了解的数据库管理员和数据工程师。如果您刚接触 AlloyDB,请参阅 AlloyDB 概览

准备工作

可选:如需按照本文档中的示例进行操作,请使用以下架构创建 Singers 表:

```sql
CREATE TABLE Singers (
  BirthDate  TIMESTAMPTZ,
  SingerId   BIGINT PRIMARY KEY,
  FirstName  VARCHAR(1024),
  LastName   VARCHAR(1024),
  SingerInfo BYTEA
);
```
After you create the `Singers` table, click
<span class="material-symbols-outlined">refresh</span>**Refresh** to
update your database schema.

如需在 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 代码,AlloyDB 中的 Gemini 提供了 AI 辅助的代码补全建议。启用 Gemini 后,当您在 AlloyDB 查询编辑器中输入文本时,Gemini 会预测并自动填充 SQL 代码。

如需使用内嵌代码建议,请按照以下步骤操作:

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

    前往 AlloyDB

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

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

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

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

  6. 如需查询数据库,请点击 新的 SQL 编辑器标签页。确保已启用 SQL 补全

  7. 输入查询并在行尾输入空格或换行符。输入文本时,Gemini 会显示根据所选数据库架构中支持的对象建议的 SQL。

    例如,如需向 Singers 表中添加一行,请开始编写以下 SQL:INSERT INTO Singers

    Gemini 会建议如下所示的 SQL:

    INSERT INTO Singers
    (SingerId, FirstName, LastName, BirthDate)
    VALUES
      (1, 'Marc', 'Singer', '1970-03-24')
    
  8. 查看 SQL 建议,然后执行以下任一操作:

    • 如需接受 Gemini 生成的 SQL,请按 Tab 键,然后点击运行以执行建议的 SQL。
    • 如需修改 Gemini 生成的 SQL,请按 Tab 键,修改 SQL,然后点击运行
    • 如需忽略建议,请按 Esc 键或继续输入。

在查询编辑器中解释 SQL 语句

您可以在 AlloyDB 中使用 Gemini 以自然语言解释 SQL 查询。此解释可帮助您了解复杂查询或长查询的语法、底层架构和业务上下文。

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

    前往 AlloyDB

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

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

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

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

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

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

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

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

后续步骤