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 條件,則會刪除表的所有行。

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

廣告
© . All rights reserved.