Snowflake - 表和列



在資料庫中,建立模式,它們是表的邏輯分組。表包含列。表和列是資料庫中低級別且最重要的物件。本章將討論如何在 Snowflake 中建立表和列。

Snowflake 為使用者提供兩種方法來建立表和相應的列:使用使用者介面和 SQL 查詢。如果不提供列的詳細資訊,使用者無法建立表。

使用 Snowflake 的 UI 操作表和列

讓我們看看如何使用 Snowflake 的 UI 操作表和列。

建立表和列

使用唯一的 URL 登入 Snowflake 帳戶。單擊頂部功能區上的**資料庫**按鈕。它將導航到資料庫檢視螢幕。

單擊要建立新表的資料庫名稱。它將導航到資料庫屬性頁面,您可以在其中檢視在資料庫內建立的表/檢視/模式等。

如果未選中,請單擊**表**,預設情況下會選中表。您可以看到在同一資料庫中建立的表列表,否則為空白。

Create Table

單擊**建立**按鈕以新增表。它將彈出**建立表**對話方塊。輸入以下欄位:

  • **表名** - test_table

  • **模式名稱** - 從可用列表中選擇 – PUBLIC

  • **列** - 單擊**新增**按鈕,然後輸入名稱、型別、“非空”或任何預設值。

  • 要新增多個列,請繼續單擊**新增**按鈕,然後輸入詳細資訊。現在,單擊**完成**按鈕。

以下螢幕截圖顯示瞭如何新增表和列:

Adding Tables and Columns

您可以在視圖面板中看到已建立的表。

查看錶和列

在本節中,我們將討論如何**檢視**表和列的詳細資訊,如何**建立類似**的表,如何**克隆**它以及如何**刪除**表。

單擊頂部功能區上的**資料庫**。它將顯示資料庫的視圖面板,其中列出了所有資料庫。單擊存在表的資料庫的名稱。例如,以下螢幕截圖中顯示的**TEST_DB**:

View Tables

它將顯示資料庫中列出的所有表。使用**建立**按鈕建立新表。使用**建立類似**按鈕建立具有與現有表相同的元資料的表。

單擊**建立類似**按鈕,將彈出**建立類似表**對話方塊。輸入新表的名稱,然後單擊**完成**按鈕。

以下螢幕截圖解釋了此功能:

Create Table Like

在視圖面板中,您可以看到新表。在本例中為 TABLE_TEST_1。

  • 使用**克隆**按鈕建立現有表的另一個副本。要執行此操作,請選擇一個表並單擊**克隆**按鈕。

  • **克隆表**對話方塊將彈出到螢幕上。輸入新表的名稱,然後單擊**完成**按鈕。

以下螢幕截圖顯示了克隆功能。

Clone Table

您可以在視圖面板中看到新表。

**克隆**和**建立類似**的區別在於“列資料”。克隆會從現有表中提取實際資料,而建立類似的表只會複製表的元資料。它不會複製表中存在的現有資料。

使用者也可以透過選擇一個表並單擊**刪除**按鈕來刪除表。將彈出**刪除表**對話方塊以進行確認。單擊“是”以刪除,否則單擊“否”。

Drop Table

使用 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 查詢以驗證操作是否已完成。

廣告