SQL 控制台
SQL 控制台是在 ClickHouse Cloud 中探索和查询数据库的最快、最便捷方式。可以使用 SQL 控制台:
- 连接到 ClickHouse Cloud 服务
- 查看、过滤和排序表数据
- 执行查询,并只需几次点击即可将结果数据可视化
- 与团队成员共享查询,更高效地协作
浏览表
查看表列表和表结构信息
可以在左侧边栏区域查看 ClickHouse 实例中包含的表的概览。使用左侧边栏顶部的数据库选择器来查看特定数据库中的表。

列表中的表也可以展开,以查看列及其数据类型。

浏览表数据
在列表中点击某个表,会在新标签页中打开它。在表视图(Table View)中,可以轻松查看、选择和复制数据。请注意,将数据复制粘贴到 Microsoft Excel、Google Sheets 等电子表格应用程序时,表的结构和格式都会被保留。你可以使用页脚中的导航在各页表数据之间切换(每页 30 行)。

检查单元格数据
可以使用 Cell Inspector 工具查看单个单元格中包含的大量数据。要打开该工具,在某个单元格上单击鼠标右键并选择“Inspect Cell”。要复制单元格检查器中的内容,单击检查器内容区域右上角的复制图标即可。

筛选和排序数据表
对表进行排序
要在 SQL 控制台中对表进行排序,打开一个表并在工具栏中选择“Sort”按钮。此按钮会打开一个菜单,你可以在其中配置排序。你可以选择要用于排序的列,并配置排序顺序(升序或降序)。选择“Apply”或按 Enter 键即可对表进行排序。

SQL 控制台还允许你为一个表添加多个排序条件。再次单击“Sort”按钮即可添加另一个排序。注意:排序会按照它们在排序面板中出现的顺序(从上到下)依次应用。要删除某个排序,只需单击该排序旁边的“x”按钮即可。
筛选表格
要在 SQL 控制台中筛选表数据,打开一个表并选择 “Filter” 按钮。与排序类似,该按钮会打开一个菜单,用于配置筛选条件。可以选择要作为筛选依据的列,并设置相应条件。SQL 控制台会智能显示与该列数据类型相匹配的筛选选项。

在对筛选条件满意后,选择 “Apply” 即可应用筛选。也可以按照下图所示添加其他筛选条件。

与排序功能类似,点击筛选条件旁边的 “x” 按钮即可将其移除。
同时进行筛选和排序
SQL 控制台允许你同时对表进行筛选和排序。要实现这一点,请按照上文所述步骤添加所有需要的筛选条件和排序规则,然后点击 “Apply” 按钮。

通过筛选和排序创建查询
SQL 控制台可以一键将当前的排序和筛选条件直接转换为查询。只需在工具栏中设置好所需的排序和筛选条件,然后点击 “Create Query” 按钮。点击 “Create Query” 后,会打开一个新的查询选项卡,并预先填充与当前表视图中数据对应的 SQL 命令。

使用 “Create Query” 功能时,并不必须设置任何筛选或排序条件。
你可以通过阅读 (link) 查询文档,进一步了解如何在 SQL 控制台中进行查询。
编写并运行查询
创建查询
在 SQL 控制台中有两种方式可以创建新查询。
- 点击标签栏中的 “+” 按钮
- 在左侧边栏的查询列表中选择 “New Query” 按钮

运行查询
要运行查询,在 SQL 编辑器中输入 SQL 命令,然后点击 “Run” 按钮或使用快捷键 cmd / ctrl + enter。要按顺序编写并运行多个命令,请确保在每个命令后添加分号。
查询执行选项
默认情况下,点击 “Run” 按钮会运行 SQL 编辑器中包含的所有命令。SQL 控制台还支持另外两种查询执行选项:
- 运行选中的命令
- 运行光标所在处的命令
要运行选中的命令,先选中所需的命令或命令序列,然后点击 “Run” 按钮(或使用快捷键 cmd / ctrl + enter)。当存在选中内容时,你也可以在 SQL 编辑器的上下文菜单中(在编辑器任意位置右键打开)选择 “Run selected”。

在当前光标位置运行命令可以通过两种方式完成:
- 在扩展运行选项菜单中选择 “At Cursor”(或使用对应的快捷键
cmd / ctrl + shift + enter)

- 在 SQL 编辑器的上下文菜单中选择 “Run at cursor”

执行时,光标位置处的命令会短暂以黄色闪烁。
取消查询
当查询正在执行时,查询编辑器工具栏中的“Run”按钮会被替换为“Cancel”按钮。只需单击此按钮或按下 Esc 键即可取消该查询。注意:在取消之前已经返回的任何结果在取消后仍将保留。

保存查询
如果尚未命名,你的查询会被称为“Untitled Query”。单击查询名称即可修改。重命名查询时会自动保存该查询。

你也可以使用保存按钮或 cmd / ctrl + s 快捷键来保存查询。

使用 GenAI 管理查询
此功能允许你以自然语言问句的形式编写查询,由查询控制台根据可用表的上下文生成相应的 SQL 查询。GenAI 也可以帮助你调试查询。
有关 GenAI 的更多信息,请参阅 Announcing GenAI powered query suggestions in ClickHouse Cloud blog post。
表设置
我们先导入英国房产成交价格示例数据集,并基于该数据集创建一些 GenAI 查询。
-
打开一个 ClickHouse Cloud 服务。
-
点击 + 图标创建一个新查询。
-
粘贴并运行以下代码:
此查询大约需要 1 秒钟完成。完成后,您将得到一个名为
uk_price_paid的空表。 -
创建一个新查询并粘贴以下查询:
此查询会从 gov.uk 网站获取数据集。该文件大小约为 4GB,因此此查询将需要几分钟才能完成。ClickHouse 处理完查询后,您将在 uk_price_paid 表中获得完整的数据集。
创建查询
让我们使用自然语言来创建一个查询。
-
选择 uk_price_paid 表,然后点击 Create Query。
-
点击 Generate SQL。系统可能会要求您同意将您的查询发送到 Chat-GPT。您必须选择 I agree 才能继续。
-
现在您可以在提示中输入自然语言查询,由 ChatGPT 将其转换为 SQL 查询。本示例中,我们将输入:
Show me the total price and total number of all uk_price_paid transactions by year.
-
控制台会生成我们需要的查询,并在新选项卡中显示。在我们的示例中,GenAI 创建了如下查询:
-
在您确认查询无误之后,点击 Run 运行它。
调试
现在,让我们测试一下 GenAI 的查询调试功能。
-
点击 + 图标创建一个新查询,并粘贴以下代码:
-
点击 Run。查询失败,是因为我们尝试从
pricee而不是price获取值。 -
点击 Fix Query。
-
GenAI 会尝试修复查询。在这个例子中,它将
pricee改成了price,并且判断在这种场景下使用toYear是更合适的函数。 -
选择 Apply 将推荐的更改应用到查询中,然后点击 Run。
请注意,GenAI 是一项实验性功能。在针对任何数据集运行由 GenAI 生成的查询时,请谨慎操作。
高级查询功能
搜索查询结果
在查询执行完成后,你可以使用结果面板中的搜索输入框快速搜索返回的结果集。此功能有助于预览额外 WHERE 子句的结果,或简单检查结果集中是否包含特定数据。在搜索输入框中输入一个值后,结果面板会更新并返回所有包含与该输入值匹配条目的记录。在本示例中,我们在 hackernews 表中查询出评论内容中(不区分大小写)包含 ClickHouse 的记录,然后在结果中查找所有出现 breakfast 的实例:

注意:任何字段只要匹配输入的值都会被返回。例如,在上面的截图中,第三条记录在 by 字段中并不匹配 “breakfast”,但在 text 字段中匹配到了:

调整分页设置
默认情况下,查询结果窗格会在单个页面上显示所有结果记录。对于较大的结果集,为了更便于查看,可以对结果进行分页。可以使用结果窗格右下角的分页选择器来完成此操作:

选择页面大小后,会立即对结果集应用分页,并且导航选项会显示在结果窗格底部中间位置。

导出查询结果数据
在 SQL 控制台中,你可以直接将查询结果集导出为 CSV 格式。具体操作是在结果窗格工具栏右侧点击 ••• 菜单,然后选择“Download as CSV”。

可视化查询数据
有些数据以图表形式展示更便于理解。你可以在 SQL 控制台中直接基于查询结果数据,通过几次点击就快速创建可视化图表。下面以一个示例查询为例,该查询用于计算纽约市出租车行程的每周统计数据:

如果没有可视化,这些结果不易解读。让我们把它们转换成图表。
创建图表
要开始构建可视化,从查询结果面板的工具栏中选择 “Chart” 选项。此时会出现一个图表配置面板:

我们先创建一个简单的条形图,用于按 week 跟踪 trip_total。为此,将 week 字段拖到 x 轴,将 trip_total 字段拖到 y 轴:

大多数图表类型都支持在数值坐标轴上放置多个字段。作为示例,我们将 fare_total 字段拖到 y 轴上:

自定义图表
SQL 控制台支持十种图表类型,可以在图表配置面板中的图表类型选择器中进行选择。比如,我们可以轻松地将前一个图表的类型从柱状图(Bar)更改为面积图(Area):

图表标题与提供数据的查询名称保持一致。更新查询名称时,图表标题也会随之更新:

还可以在图表配置面板的“高级”部分调整更多图表的高级属性。首先,我们将调整以下设置:
- 副标题
- 坐标轴标题
- x 轴标签方向
图表会相应更新:

在某些情况下,可能需要分别调整每个字段的坐标轴刻度。这也可以通过在图表配置面板的“高级”部分为坐标轴范围指定最小值和最大值来完成。举例来说,上面的图表整体效果不错,但为了展示 trip_total 和 fare_total 字段之间的相关性,需要对坐标轴范围进行一些调整:

共享查询
SQL 控制台允许您与团队共享查询。查询共享后,团队中的所有成员都可以查看和编辑该查询。共享查询是与团队协作的有效方式。
要共享查询,请单击查询工具栏中的“Share”按钮。

此时会弹出一个对话框,您可以将查询共享给某个团队的所有成员。如果您有多个团队,可以选择要将查询共享到哪个团队。



在某些场景下,可能需要分别调整每个字段的坐标轴范围。这也可以在图表配置面板的“Advanced”部分中,通过为坐标轴范围指定最小值和最大值来完成。比如,上面的图表整体效果不错,但如果要更好地展示 trip_total 和 fare_total 字段之间的相关性,则需要对坐标轴范围进行一些调整:
