Teradata 表

2025年3月17日 | 阅读 3 分钟

关系模型中的表定义为数据的集合。它们以行和列的形式表示。

表的类型

在 Teradata 中,表支持以下类型的表,例如

  • 永久表: 这是一个默认表,它包含用户插入的数据,并永久存储数据。
  • 易失表: 插入到易失表中的数据仅在用户会话期间保留。表和数据在会话结束时被删除。这些表主要用于在数据转换期间保存中间数据。
  • 全局临时表: 全局临时表的定义是持久的,但表中的数据在用户会话结束时被删除。
  • 派生表: 派生表保存查询中的中间结果。它们的生命周期在创建、使用和删除它们的查询中。

Set vs Multiset

Teradata 根据如何处理重复文件将表分类为 Set 或 Multiset 表。

定义为 SET 表的表不存储重复文件,而 MULTISET 表可以存储重复文件。

1. 创建表

CREATE Table 命令用于在 Teradata 中创建表。

语法

以下是 CREATE TABLE 语句的通用语法。

  • 表选项: 它指定表的物理属性,例如日志和回退。
  • 列定义: 它指定列、数据类型和属性的列表。
  • 索引定义: 这是一个附加的索引选项,例如主索引、次索引和分区主索引。

示例

在以下示例中,我们创建一个名为 student 的表,并带有 FALLBACK 选项。该表包含四个列,其中 rollno 作为 Unique Primary Index。

创建表后,我们可以使用 SHOW TABLE 命令查看表的定义。

2. 更改表

ALTER table 命令用于从现有表中添加或删除列。我们也可以使用 ALTER table 命令来修改现有列的属性。

语法

以下是 ALTER table 的通用语法。

示例

在以下示例中,我们删除 DOB 列并添加一个新列 BirthDate。

我们可以运行 SHOW table 命令来查看对表的更改。在以下输出中,我们可以看到 student_dob 列已被删除,并且添加了 BirthDate 列。

3. 删除表

DROP TABLE 命令用于删除表。当发出 DROP TABLE 时,表中的数据将被删除,并且表也将被删除。

语法

以下是 DROP TABLE 的通用语法。

示例

在以下示例中,我们删除 "student" 表。

如果在此之后运行 SHOW TABLE 命令,我们将收到一条错误消息,指出该表不存在。