- Snowflake 教程
- Snowflake - 首页
- Snowflake - 简介
- Snowflake - 数据架构
- Snowflake - 功能架构
- Snowflake - 如何访问
- Snowflake - 版本
- Snowflake - 定价模型
- Snowflake - 对象
- Snowflake - 表和视图类型
- Snowflake - 登录
- Snowflake - 数据仓库
- Snowflake - 数据库
- Snowflake - 模式
- Snowflake - 表和列
- Snowflake - 从文件加载数据
- Snowflake - 有用的示例查询
- Snowflake - 监控使用情况和存储
- Snowflake - 缓存
- 将数据从 Snowflake 卸载到本地
- 外部数据加载(从 AWS S3)
- 外部数据卸载(到 AWS S3)
- Snowflake 资源
- Snowflake - 快速指南
- Snowflake - 有用资源
- Snowflake - 讨论
Snowflake - 表和列
在数据库中,创建模式,它们是表的逻辑分组。表包含列。表和列是数据库中低级别且最重要的对象。本章将讨论如何在 Snowflake 中创建表和列。
Snowflake 为用户提供两种方法来创建表和相应的列:使用用户界面和 SQL 查询。如果不提供列的详细信息,用户无法创建表。
使用 Snowflake 的 UI 操作表和列
让我们看看如何使用 Snowflake 的 UI 操作表和列。
创建表和列
使用唯一的 URL 登录 Snowflake 帐户。单击顶部功能区上的**数据库**按钮。它将导航到数据库视图屏幕。
单击要创建新表的数据库名称。它将导航到数据库属性页面,您可以在其中查看在数据库内创建的表/视图/模式等。
如果未选中,请单击**表**,默认情况下会选中表。您可以看到在同一数据库中创建的表列表,否则为空白。
单击**创建**按钮以添加表。它将弹出**创建表**对话框。输入以下字段:
**表名** - test_table
**模式名称** - 从可用列表中选择 – PUBLIC
**列** - 单击**添加**按钮,然后输入名称、类型、“非空”或任何默认值。
要添加多个列,请继续单击**添加**按钮,然后输入详细信息。现在,单击**完成**按钮。
以下屏幕截图显示了如何添加表和列:
您可以在视图面板中看到已创建的表。
查看表和列
在本节中,我们将讨论如何**查看**表和列的详细信息,如何**创建类似**的表,如何**克隆**它以及如何**删除**表。
单击顶部功能区上的**数据库**。它将显示数据库的视图面板,其中列出了所有数据库。单击存在表的数据库的名称。例如,以下屏幕截图中显示的**TEST_DB**:
它将显示数据库中列出的所有表。使用**创建**按钮创建新表。使用**创建类似**按钮创建具有与现有表相同的元数据的表。
单击**创建类似**按钮,将弹出**创建类似表**对话框。输入新表的名稱,然后单击**完成**按钮。
以下屏幕截图解释了此功能:
在视图面板中,您可以看到新表。在本例中为 TABLE_TEST_1。
使用**克隆**按钮创建现有表的另一个副本。要执行此操作,请选择一个表并单击**克隆**按钮。
**克隆表**对话框将弹出到屏幕上。输入新表的名稱,然后单击**完成**按钮。
以下屏幕截图显示了克隆功能。
您可以在视图面板中看到新表。
**克隆**和**创建类似**的区别在于“列数据”。克隆会从现有表中提取实际数据,而创建类似的表只会复制表的元数据。它不会复制表中存在的现有数据。
用户也可以通过选择一个表并单击**删除**按钮来删除表。将弹出**删除表**对话框以进行确认。单击“是”以删除,否则单击“否”。
使用 Snowflake 的 SQL 接口操作表和列
一旦用户开始操作表和列,相应的数据库和模式就成为重要的因素。如果没有提供数据库和模式的详细信息,查询将无法成功执行。
有两种方法可以设置数据库和模式详细信息:一种是使用 Snowflake 的 UI,另一种是在查询中表名前提供数据库名称和模式名称,如下例所示:
SELECT * FROM DATABSE_NAME.SCHEMA_NAME.TABLE_NAME.
在 UI 中,需要执行以下步骤:
单击“选择模式”旁边右上角的下拉箭头。它会弹出一个对话框,用户可以在其中提供以下详细信息:
- 角色
- 数据仓库
- 数据库
- 模式
以下屏幕截图描述了上述步骤:
现在,当用户运行查询时,无需在查询中提供数据库名称和模式名称,它将针对上面设置的数据库和模式运行。如果需要切换到另一个数据库/模式,可以频繁更改它。
在 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 查询以验证操作是否已完成。