Teradata 数据处理
本章介绍用于操作存储在Teradata表中的数据的SQL命令。
插入记录
INSERT INTO语句用于将记录插入到表中。语法
以下是INSERT INTO的通用语法。INSERT INTO <tablename> (column1, column2, column3,…) VALUES (value1, value2, value3 …);
例子
以下示例将记录插入到员工表中。
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的表。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];
例子
以下示例将员工部门更新为03(对于员工101)。
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
规则
您可以更新表的一个或多个值。
如果未指定WHERE条件,则表的所有行都受到影响。
您可以使用另一个表中的值更新表。
删除记录
DELETE FROM语句用于更新表中的记录。
语法
以下是DELETE FROM的通用语法。
DELETE FROM <tablename> [WHERE condition];
例子
以下示例从表employee中删除员工101。
DELETE FROM Employee WHERE EmployeeNo = 101;
在以下输出中,您可以看到对于员工101,部门从1更新为3。
SELECT EmployeeNo FROM Employee; *** Query completed. No rows found. *** Total elapsed time was 1 second.
规则
您可以更新表的一个或多个记录。
如果未指定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条件,则表的所有行都将被删除。
您可以使用另一个表中的值更新表。