Teradata - 数据操作



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

插入记录

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

语法

以下是 INSERT INTO 的通用语法。

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

示例

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

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

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

员工编号 名字 姓氏 入职日期 部门编号 出生日期
101 Mike James 3/27/2005 1 1/5/1980

从另一个表插入

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

语法

以下是 INSERT INTO 的通用语法。

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

示例

以下示例将记录插入 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 表中。

规则

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

  • NOT NULL 列的值是必需的。

  • 如果未指定值,则为可为空字段插入 NULL。

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

更新记录

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

语法

以下是 UPDATE 的通用语法。

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

示例

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

UPDATE Employee 
SET DepartmentNo = 03 
WHERE EmployeeNo = 101;

在以下输出中,您可以看到员工编号 101 的 DepartmentNo 已从 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 

规则

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

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

  • 您可以使用另一个表中的值更新表。

删除记录

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

语法

以下是 DELETE FROM 的通用语法。

DELETE FROM  <tablename> 
[WHERE condition];

示例

以下示例从 employee 表中删除员工 101。

DELETE FROM Employee 
WHERE EmployeeNo = 101;

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

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

规则

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

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

  • 您可以使用另一个表中的值更新表。

广告