Snowflake - 表和列

在数据库中,会创建模式,即表的逻辑分组。表包含列。表和列是数据库的低级和最重要的对象。在本章中,我们将讨论如何在 Snowflake 中创建表和列。

Snowflake 为用户提供了两种方式,使用用户界面和 SQL 查询创建表和相应的列。如果不提供列的详细信息,用户就无法创建表。

使用 Snowflake 的 UI 处理表和列

让我们看看如何使用 Snowflake 的 UI 处理表和列。

创建表和列

使用唯一 URL 登录 Snowflake 帐户。单击顶部功能区中的数据库按钮。它会导航到数据库视图屏幕。

单击要创建新表的数据库名称。它会导航到数据库属性页面,您可以在其中查看在数据库内创建的表/视图/模式等。

如果未选择,请单击它,默认情况下,表处于选中状态。您可以看到在同一数据库中创建的表的列表,否则为空白。

创建表

单击创建按钮添加表。它会弹出创建表对话框。输入以下字段 −

  • 表名称 − test_table

  • 模式名称 −从可用列表中选择 - 公共

  • − 单击添加按钮,然后输入名称、类型、非空或任何默认值。

  • 要添加多个列,请继续单击添加按钮,然后输入详细信息。现在,单击完成按钮。

以下屏幕截图描述了如何添加表和列 −

添加表和列

您可以在视图面板中看到创建的表。

查看表和列

在本节中,我们将讨论如何查看表和列的详细信息,如何创建类似表,如何克隆它,以及如何删除表。

单击顶部功能区中的数据库。它将显示数据库的视图面板,其中列出了所有数据库。单击包含表的数据库的名称。例如,TEST_DB 如以下屏幕截图所示 −

查看表

它将显示数据库中列出的所有表。使用创建按钮创建新表。使用创建类似按钮创建具有与现有表相同元数据的表。

通过单击创建类似按钮,将弹出创建类似表对话框。输入新表的名称,然后单击完成按钮。

以下屏幕截图解释了此功能 −

Create Table Like

在"视图"面板中,您可以看到新表。在本例中为 TABLE_TEST_1。

  • 使用克隆按钮创建现有表的另一个副本。要执行此操作,请选择一个表并单击克隆按钮。

  • 克隆表对话框将弹出在屏幕上。输入新表的名称,然后单击完成按钮。

以下屏幕截图显示了克隆功能。

克隆表

您可以在视图面板中看到新表。

克隆创建类似的区别在于"列数据"。克隆会从现有表中获取实际数据,而创建类似只会复制表的元数据。它不会复制表中现有的数据。

用户也可以删除表,方法是选择一个表并单击删除按钮。将弹出删除表对话框进行确认。单击"是"删除,否则单击"否"。

删除表

使用 Snowflake 的 SQL 界面处理表和列

一旦用户开始处理表和列,相应的数据库和模式就成为重要因素。如果没有提供数据库和模式的详细信息,查询将无法成功执行。

有两种方法可以设置数据库和模式详细信息 - 一种是使用 Snowflake 的 UI,另一种是在查询中的表名之前提供数据库名称和模式名称,如以下示例所示 −

SELECT * FROM DATABSE_NAME.SCHEMA_NAME.TABLE_NAME。

在 UI 中,需要执行以下步骤 −

单击选择模式旁边右上角的向下箭头。它会弹出一个对话框,用户可以在其中提供以下详细信息 −

  • 角色
  • 仓库
  • 数据库
  • 模式

以下屏幕截图描述了上述步骤 −

Snowflake SQL Interface

现在,当用户运行查询而不在查询中提供数据库名称和模式名称时,它会根据设置的数据库和模式运​​行,如上所示。如果需要切换到另一个数据库/模式,则可以经常更改它。

在 SQL 中设置数据库、仓库和模式

使用以下查询为会话设置 仓库

USE WAREHOUSE <WAREHOUSE_NAME>

使用以下查询为会话设置 数据库

USE DATABASE <DATABASE_NAME>

使用以下查询为会话设置 模式

USE SCHEMA <SCHEMA_NAME>

创建表和列

登录 Snowflake 并导航到工作表。默认情况下,登录后会打开工作表,否则请单击顶部功能区中的工作表图标。

使用以下查询在数据库 TEST_DB 和模式 TEST_SCHEMA_1 下创建表和列 −

CREATE TABLE "TEST_DB"."TEST_SCHEMA_1"."TEST_TABLE"
   ("ID" NUMBER (10,0) NOT NULL DEFAULT 0, "NAME" VARCHAR (50), "ADDRESS" VARCHAR (100))

单击运行按钮执行查询。结果将显示在结果面板中,因为 TEST_TABLE 已成功创建。

查看表和列

要查看所有列出的表,您可以使用以下 SQL。它提供了所有列出的架构的详细信息。

SHOW TABLES

要查看列定义,请使用以下 SQL −

DESCRIBE TABLE TEST_DB.TEST_SCHEMA_1.TEST_TABLE

要克隆表,请使用以下 SQL −

CREATE TABLE "TEST_DB"."TEST_SCHEMA_1".TEST_TABLE_2 CLONE "TEST_DB"."TEST_SCHEMA_1"."TEST_TABL_1"

要创建类似表,请使用以下查询 −

CREATE TABLE "TEST_DB"."TEST_SCHEMA_1".TEST_TABL_1 LIKE "TEST_DB"."TEST_SCHEMA_1"."TEST_TABLE"

要删除表,请使用以下 SQL −

DROP TABLE "TEST_DB"."TEST_SCHEMA_1"."TEST_TABLE_2"

用户可以在每次操作后运行 SHOW TABLES 查询来验证操作是否完成。