Teradata 简明教程

Teradata - Data Manipulation

本章介绍用于处理存储在 Teradata 表中的数据的 SQL 命令。

Insert Records

INSERT INTO 语句用于向表中插入记录。

Syntax

以下是 INSERT INTO 的通用语法。

INSERT INTO <tablename>
(column1, column2, column3,…)
VALUES
(value1, value2, value3 …);

Example

以下示例向 employee 表中插入记录。

INSERT INTO Employee (
   EmployeeNo,
   FirstName,
   LastName,
   BirthDate,
   JoinedDate,
   DepartmentNo
)
VALUES (
   101,
   'Mike',
   'James',
   '1980-01-05',
   '2005-03-27',
   01
);

插入上述查询后,可以使用 SELECT 语句从表中查看记录。

EmployeeNo

FirstName

LastName

JoinedDate

DepartmentNo

BirthDate

101

Mike

James

3/27/2005

1

1/5/1980

Insert from Another Table

INSERT SELECT 语句用于从另一个表中插入记录。

Syntax

以下是 INSERT INTO 的通用语法。

INSERT INTO <tablename>
(column1, column2, column3,…)
SELECT
column1, column2, column3…
FROM
<source table>;

Example

以下示例向 employee 表中插入记录。在运行以下插入查询之前,创建一个名为 Employee_Bkup 的表,其列定义与 employee 表相同。

INSERT INTO Employee_Bkup (
   EmployeeNo,
   FirstName,
   LastName,
   BirthDate,
   JoinedDate,
   DepartmentNo
)
SELECT
   EmployeeNo,
   FirstName,
   LastName,
   BirthDate,
   JoinedDate,
   DepartmentNo
FROM
   Employee;

执行上述查询时,将把 employee 表中的所有记录插入到 employee_bkup 表中。

Rules

  1. VALUES 列表中指定列数应与 INSERT INTO 子句中指定的列匹配。

  2. 值对于 NOT NULL 列是必需的。

  3. 如果没有指定任何值,则会为可接受空值字段插入 NULL。

  4. VALUES 子句中指定的列的数据类型应与 INSERT 子句中列的数据类型兼容。

Update Records

UPDATE 语句用于更新表中的记录。

Syntax

以下是 UPDATE 的通用语法。

UPDATE <tablename>
SET <columnnamme> = <new value>
[WHERE condition];

Example

下面的示例将雇员 101 的员工部门更新为 03。

UPDATE Employee
SET DepartmentNo = 03
WHERE EmployeeNo = 101;

在下面的输出中,您可以看到雇员编号为 101 的部门编号从 1 更新为 3。

SELECT Employeeno, DepartmentNo FROM Employee;
*** Query completed. One row found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo    DepartmentNo
-----------  -------------
   101             3

Rules

  1. 您可以更新表的一个或多个值。

  2. 如果未指定 WHERE 条件,则会影响表的所有行。

  3. 您可以使用其他表中的值更新表。

Delete Records

DELETE FROM 语句用于更新表中的记录。

Syntax

以下是 DELETE FROM 的一般语法。

DELETE FROM  <tablename>
[WHERE condition];

Example

下面的示例从表 employee 中删除雇员 101。

DELETE FROM Employee
WHERE EmployeeNo = 101;

在下面的输出中,您可以看到雇员 101 已从表中删除。

SELECT EmployeeNo FROM Employee;
*** Query completed. No rows found.
*** Total elapsed time was 1 second.

Rules

  1. 您可以更新表的一个或多个记录。

  2. 如果未指定 WHERE 条件,则会删除表的所有行。

  3. 您可以使用其他表中的值更新表。