📅  最后修改于: 2021-01-11 11:15:33             🧑  作者: Mango
关系模型中的表被定义为数据的集合。它们以行和列表示。
在Teradata中,表支持以下类型的表,例如:
Teradata根据如何处理重复文件将表分类为集合表或多集表。
定义为SET表的表不存储重复文件,而MULTISET表可以存储重复文件。
1.创建表
CREATE Table命令用于在Teradata中创建表。
句法
以下是CREATE TABLE语句的通用语法。
CREATE TABLE
;
- 表格选项:指定表格的物理属性,例如日记和后备。
- 列定义:它指定列,数据类型和属性的列表。
- 索引定义:这是一个附加的索引选项,例如主索引,辅助索引和分区主索引。
例
在下面的示例中,我们使用FALLBACK选项创建一个名为Student的表。该表包含四列,其中rollno作为唯一主索引。
CREATE SET TABLE STUDENT, FALLBACK (
RollNo INTEGER,
FirstName VARCHAR(10),
LastName VARCHAR(10),
DOB DATE FORMAT 'YYYY-MM-DD',
)
UNIQUE PRIMARY INDEX ( RollNo );
创建表后,我们可以使用SHOW TABLE命令查看表的定义。
SHOW TABLE Student;
CREATE SET TABLE STUDENT, FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO (
RollNo INTEGER,
FirstName VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
LastName VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
DOB DATE FORMAT 'YYYY-MM-DD',
)
UNIQUE PRIMARY INDEX ( RollNo );
2.修改表
ALTER table命令用于在现有表中添加或删除列。我们还可以使用ALTER table命令来修改现有列的属性。
句法
以下是ALTER表的通用语法。
ALTER TABLE
ADD
DROP ;
例
在下面的示例中,我们删除列DOB并添加一个新列BirthDate。
ALTER TABLE STUDENT
ADD BirthDate DATE FORMAT 'YYYY-MM-DD',
DROP DOB;
我们可以运行SHOW table命令来查看对该表所做的更改。在以下输出中,我们可以看到删除了Student_dob列,并添加了BirthDate。
SHOW table student;
CREATE SET TABLE student, FALLBACK,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO (
RollNo INTEGER,
FirstName VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
LastName VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
BirthDate DATE FORMAT 'YYYY-MM-DD'
)
UNIQUE PRIMARY INDEX ( RollNo );
3.删除表
DROP TABLE命令用于删除表。发出DROP TABLE时,表中的数据将被删除,并且该表将被删除。
句法
以下是DROP TABLE的通用语法。
DROP TABLE ;
例
在下面的示例中,我们删除“学生”表。
DROP TABLE student;
如果在此之后运行SHOW TABLE命令,则会收到一条错误消息,指出该表不存在。
SHOW TABLE student;
*** Failure 3807 Object 'student' does not exist.
Statement# 1, Info = 0