

# 使用 Aurora 查询编辑器
<a name="query-editor"></a><a name="query_editor"></a>

 利用 Aurora 查询编辑器，您可以通过 AWS 管理控制台在 Aurora 数据库集群上运行 SQL 语句。您可以运行 SQL 查询、数据操作（DML）语句和数据定义（DDL）语句。使用控制台界面，您可以执行数据库维护、生成报告和进行 SQL 试验。您可以避免将网络配置设置为从单独的客户端系统（例如 EC2 实例或笔记本电脑）连接到数据库集群。

查询编辑器要求 Aurora 数据库集群已启用 RDS 数据 API（数据 API）。有关支持数据 API 的数据库集群以及如何启用它的信息，请参阅[使用 Amazon RDS 数据 API](data-api.md)。您可以运行的 SQL 受数据 API 限制的约束。有关更多信息，请参阅 [Amazon RDS 数据 API 的限制](data-api.limitations.md)。

## 查询编辑器的可用性
<a name="query-editor.regions"></a>

查询编辑器可用于 Aurora 数据库集群，这些集群使用支持数据 API 的 Aurora MySQL 和 Aurora PostgreSQL 引擎版本，并位于提供数据 API 的 AWS 区域中。有关更多信息，请参阅 [支持 RDS 数据 API 的区域和 Aurora 数据库引擎](Concepts.Aurora_Fea_Regions_DB-eng.Feature.Data_API.md)。

## 授予对查询编辑器的访问权限
<a name="query-editor.access"></a>

用户必须获得在查询编辑器中运行查询的授权。您可以通过向用户添加 `AmazonRDSDataFullAccess` 策略（预定义的 AWS Identity and Access Management（IAM）策略）来授予该用户在查询编辑器中运行查询的权限。

**注意**  
请确保您在创建 IAM 用户时使用的用户名和密码，与为数据库用户所使用的用户名和密码相同，例如管理用户名和密码。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》中的[在您的 AWS 账户中创建 IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)。

您还可以创建 IAM 策略，授予对查询编辑器的访问权限。在创建策略后，将该策略附加到需要对查询编辑器的访问权限的每个用户。

以下策略提供用户访问查询编辑器所需的最低权限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "QueryEditor0",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutResourcePolicy",
                "secretsmanager:PutSecretValue",
                "secretsmanager:DeleteSecret",
                "secretsmanager:DescribeSecret",
                "secretsmanager:TagResource"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:rds-db-credentials/*"
        },
        {
            "Sid": "QueryEditor1",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword",
                "tag:GetResources",
                "secretsmanager:CreateSecret",
                "secretsmanager:ListSecrets",
                "dbqms:CreateFavoriteQuery",
                "dbqms:DescribeFavoriteQueries",
                "dbqms:UpdateFavoriteQuery",
                "dbqms:DeleteFavoriteQueries",
                "dbqms:GetQueryString",
                "dbqms:CreateQueryHistory",
                "dbqms:UpdateQueryHistory",
                "dbqms:DeleteQueryHistory",
                "dbqms:DescribeQueryHistory",
                "rds-data:BatchExecuteStatement",
                "rds-data:BeginTransaction",
                "rds-data:CommitTransaction",
                "rds-data:ExecuteStatement",
                "rds-data:RollbackTransaction"
            ],
            "Resource": "*"
        }
    ]
}
```

------

有关创建 IAM 策略的更多信息，请参阅 *AWS Identity and Access Management 用户指南*中的[创建 IAM 策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

有关将 IAM 策略添加到用户的信息，请参阅 *AWS Identity and Access Management 用户指南*中的[添加和删除 IAM 身份权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

## 在查询编辑器中运行查询
<a name="query-editor.running"></a>

您可以在查询编辑器中对 Aurora 数据库集群运行 SQL 语句。您可以运行的 SQL 受数据 API 限制的约束。有关更多信息，请参阅 [Amazon RDS 数据 API 的限制](data-api.limitations.md)。

**在查询编辑器中运行查询**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在 AWS 管理控制台的右上角，选择在其中创建了您要查询的 Aurora 数据库集群的 AWS 区域。

1. 在导航窗格中，选择**数据库**。

1. 选择要对其运行 SQL 查询的 Aurora 数据库集群。

1. 对于 **Actions (操作)**，选择 **Query (查询)**。如果您之前未连接到数据库，则 **Connect to database (连接到数据库)** 页面将打开。  
![\[查询编辑器的“Connect to database (连接到数据库)”页面\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/query-editor-connect.png)

1. 输入以下信息：

   1. 对于**数据库实例或集群**，选择要对其运行 SQL 查询的 Aurora 数据库集群。

   1. 对于 **Database username (数据库用户名)**，选择要连接的数据库用户的用户名，或者选择 **Add new database credentials (添加新的数据库凭证)**。如果选择 **Add new database credentials (添加新的数据库凭证)**，请在 **Enter database username (输入数据库用户名)** 中为新的数据库凭证输入用户名。

   1. 对于 **Enter database password (输入数据库密码)**，请为您选择的数据库用户输入密码。

   1. 在最后一个框中，输入要用于 Aurora 数据库集群的数据库或架构的名称。

   1. 选择 **Connect to database (连接到数据库)**。
**注意**  
如果连接成功，则连接和身份验证信息将存储在 AWS Secrets Manager 中。您无需再次输入连接信息。

1. 在查询编辑器中，输入要在数据库上运行的 SQL 查询。  
![\[在文本区域包含 SQL 语句的查询编辑器\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/query-editor.png)

   每个 SQL 语句可自动提交，或者您可以在脚本中将 SQL 语句作为事务的一部分运行。要控制此行为，请选择查询窗口上方的齿轮图标。  
![\[查询编辑器中的齿轮图标\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/query-editor-gear.png)

   将显示 **Query Editor Settings (查询编辑器设置)** 窗口。  
![\[Query Editor Settings (查询编辑器设置)\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/query-editor-settings.png)

   如果您选择 **Auto-commit (自动提交)**，则将自动提交每个 SQL 语句。如果选择**事务**，则可以在脚本中运行一组语句。语句会在脚本结束时自动提交，除非在此之前已明确提交或回滚。此外，您可以启用 **Stop on error (错误时停止)**，选择当发生错误时停止正在运行的脚本。
**注意**  
在一组语句中，数据定义语言 (DDL) 语句可能会造成前面的数据操作语言 (DML) 语句提交。您还可以将 `COMMIT` 和 `ROLLBACK` 语句包含在脚本中的一组语句中。

   在 **Query Editor Settings (查询编辑器设置)** 窗口中完成选择后，选择 **Save (保存)**。

1. 选择 **Run (运行)** 或按 Ctrl\$1Enter，查询编辑器将显示查询的结果。

   运行查询后，选择 **Save (保存)** 将其保存到 **Saved queries (保存的查询)**。

   选择 **Export to csv (导出到 CSV)**，将查询结果导出为电子表格格式。

您可以查找、编辑以及重新运行之前的查询。为此，请选择 **Recent (最近)** 或 **Saved queries (保存的查询)** 选项卡，选择查询文本，然后选择 **Run (运行)**。

要更改数据库，请选择 **Change database (更改数据库)**。

# Database Query Metadata Service (DBQMS) API 参考
<a name="dbqms-api"></a>

Database Query Metadata Service (`dbqms`) 是一项仅限内部使用的服务。它为AWS 管理控制台上多项AWS服务（包括 Amazon RDS）提供查询编辑器最近的和保存的查询。

**Topics**
+ [CreateFavoriteQuery](#CreateFavoriteQuery)
+ [CreateQueryHistory](#CreateQueryHistory)
+ [CreateTab](#CreateTab)
+ [DeleteFavoriteQueries](#DeleteFavoriteQueries)
+ [DeleteQueryHistory](#DeleteQueryHistory)
+ [DeleteTab](#DeleteTab)
+ [DescribeFavoriteQueries](#DescribeFavoriteQueries)
+ [DescribeQueryHistory](#DescribeQueryHistory)
+ [DescribeTabs](#DescribeTabs)
+ [GetQueryString](#GetQueryString)
+ [UpdateFavoriteQuery](#UpdateFavoriteQuery)
+ [UpdateQueryHistory](#UpdateQueryHistory)
+ [UpdateTab](#UpdateTab)

## CreateFavoriteQuery
<a name="CreateFavoriteQuery"></a>

保存新的常用查询。每个 用户最多可以创建 1000 个保存的查询。此限制将来可能会发生变化。

## CreateQueryHistory
<a name="CreateQueryHistory"></a>

保存新的查询历史记录条目。

## CreateTab
<a name="CreateTab"></a>

保存新的查询选项卡。每个 用户最多可以创建 10 个查询选项卡。

## DeleteFavoriteQueries
<a name="DeleteFavoriteQueries"></a>

删除一个或多个保存的查询。

## DeleteQueryHistory
<a name="DeleteQueryHistory"></a>

删除查询历史记录条目。

## DeleteTab
<a name="DeleteTab"></a>

删除查询选项卡条目。

## DescribeFavoriteQueries
<a name="DescribeFavoriteQueries"></a>

列出用户在给定账户中创建的保存的查询。

## DescribeQueryHistory
<a name="DescribeQueryHistory"></a>

列出查询历史记录条目。

## DescribeTabs
<a name="DescribeTabs"></a>

列出用户在给定账户中创建的查询选项卡。

## GetQueryString
<a name="GetQueryString"></a>

从查询 ID 检索完整的查询文本。

## UpdateFavoriteQuery
<a name="UpdateFavoriteQuery"></a>

更新查询字符串、描述、名称或到期日期。

## UpdateQueryHistory
<a name="UpdateQueryHistory"></a>

更新查询历史记录的状态。

## UpdateTab
<a name="UpdateTab"></a>

更新查询选项卡名称和查询字符串。