📜  Teradata-数据操作

📅  最后修改于: 2020-11-29 08:56:36             🧑  作者: Mango


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

插入记录

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

句法

以下是INSERT INTO的通用语法。

INSERT INTO  
(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语句查看表中的记录。

EmployeeNo FirstName LastName JoinedDate DepartmentNo BirthDate
101 Mike James 3/27/2005 1 1/5/1980

从另一个表插入

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

句法

以下是INSERT INTO的通用语法。

INSERT INTO  
(column1, column2, column3,…) 
SELECT 
column1, column2, column3… 
FROM  
;

下面的示例将记录插入到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  
SET  =  
[WHERE condition];

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

UPDATE Employee 
SET DepartmentNo = 03 
WHERE EmployeeNo = 101;

在以下输出中,您可以看到EmployeeNo 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   
[WHERE condition];

以下示例从表employee中删除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条件,则删除表的所有行。

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