在 Gemini 协助下编写 SQL

本文档介绍了如何使用 Google Cloud 中 AI 赋能的协作工具 Gemini 在 Spanner 中执行以下操作:

Gemini 不会将您的提示或其回答用作数据来训练其模型。如需了解详情,请参阅 Gemini for Google Cloud 如何使用您的数据

本文档面向熟悉 Spanner、SQL 和数据分析的数据库管理员和数据工程师。如果您刚开始接触 Spanner,请参阅使用 Google Cloud 控制台创建和查询数据库

准备工作

  1. 确保您已在数据库中设置了 Gemini
  2. 如需完成本文档中的任务,请确保您拥有必要的 Identity and Access Management (IAM) 权限
  3. 在 Google Cloud 控制台中,转到 Spanner 页面。

    转到 Spanner

  4. 从列表中选择一个实例。

  5. 选择数据库。

  6. 在导航菜单中,点击 Spanner Studio

  7. 在任务栏中,点击 pen_spark Gemini 以查看 Spanner 中的 Gemini 功能。

  8. 选择要启用的 Gemini 功能,例如 SQL 补全根据注释生成查询。您可以为自己选择并试用功能,而不会影响参与项目中的其他人。

  9. 可选:如果您想按照本文档中的示例进行操作,请先按照为数据库创建架构中的说明创建 Singers 表。

如需在 Spanner 中停用 Gemini 功能,请重复这些步骤,然后取消选择要停用的 Gemini 功能。

所需的角色

如需获取完成本文档中任务所需的权限,请让管理员授予您项目的 Spanner Database Reader (roles/spanner.databaseReader) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

使用自然语言提示生成 SQL 查询

您可以提供 Gemini 自然语言注释(或提示),以生成基于您的架构的查询。例如,您可以提示 Gemini 生成 SQL 来回答以下提示:

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

如需在 Gemini 协助下在 Spanner 中生成 SQL,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,转到 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 选择数据库。

  4. 在导航窗格中,点击 Spanner Studio探索器窗格会显示数据库中的对象列表。

  5. 如需查询数据库,请点击 “New SQL Editor”标签页。请确保已启用 SQL 生成功能

  6. 如需生成 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'
    
    
  7. 查看生成的 SQL 并执行以下任一操作:

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

在查询编辑器中补全 SQL 语句

为了帮助您编写 SQL 代码,Spanner 中的 Gemini 提供了 AI 辅助的代码补全建议。启用 Gemini 后,当您在 Spanner Studio 查询编辑器中输入文本时,Gemini 会预测并自动填充 SQL 代码。

内嵌代码建议

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

  1. 在 Google Cloud 控制台中,转到 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 选择数据库。

  4. 在导航窗格中,点击 Spanner Studio

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

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

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

    Gemini 会建议如下所示的 SQL:

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

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

帮我写代码工具

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

  1. 在 Google Cloud 控制台中,转到 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 选择数据库。

  4. 在导航窗格中,点击 Spanner Studio

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

  6. 点击查询编辑器旁边的 pen_spark 帮我写代码

  7. 帮我写代码窗口中,输入提示。例如,执行 add a row to table singers 操作,然后点击生成

    Gemini 会生成如下所示的 SQL:

    INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate)
    VALUES (1, Alex, 'M.', '1977-10-16');
    
  8. 查看生成的 SQL 并执行以下任一操作:

    • 如需接受 Gemini 生成的 SQL,请点击插入以将语句插入查询编辑器中。然后,点击运行以执行建议的 SQL。
    • 如需让 Gemini 生成新查询,请点击修改。修改提示完成后,点击更新。然后,您可以决定接受新生成的语句或忽略建议。
    • 如需忽略建议,请关闭帮我写代码窗口。

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

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

  1. 在 Google Cloud 控制台中,转到 Spanner 页面。

    转到 Spanner

  2. 从列表中选择一个实例。

  3. 选择数据库。

  4. 在导航窗格中,点击 Spanner Studio

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

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

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

    SQL 解释会显示在 Gemini 窗格中。

后续步骤