Teradata-データ操作

この章では、Teradataテーブルに格納されているデータを操作するために使用されるSQLコマンドを紹介します。

レコードを挿入

INSERT INTOステートメントは、レコードをテーブルに挿入するために使用されます。

構文

以下は、INSERTINTOの一般的な構文です。

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ステートメントを使用してテーブルのレコードを表示できます。

従業員番号 ファーストネーム 苗字 JoinedDate 部門番号 誕生日
101 マイク ジェームズ 2005年3月27日 1 1980年1月5日

別のテーブルから挿入

INSERT SELECTステートメントは、別のテーブルからレコードを挿入するために使用されます。

構文

以下は、INSERTINTOの一般的な構文です。

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

次の例では、レコードをemployeeテーブルに挿入します。次の挿入クエリを実行する前に、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リストで指定された列の数は、INSERTINTO句で指定された列と一致する必要があります。

  • NOTNULL列には値が必須です。

  • 値が指定されていない場合、NULL可能フィールドにNULLが挿入されます。

  • VALUES句で指定された列のデータ型は、INSERT句の列のデータ型と互換性がある必要があります。

レコードの更新

UPDATEステートメントは、テーブルからレコードを更新するために使用されます。

構文

以下は、UPDATEの一般的な構文です。

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

次の例では、従業員101の従業員部門を03に更新します。

UPDATE Employee 
SET DepartmentNo = 03 
WHERE EmployeeNo = 101;

次の出力では、EmployeeNo101の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

ルール

  • テーブルの1つ以上の値を更新できます。

  • WHERE条件が指定されていない場合、テーブルのすべての行が影響を受けます。

  • 別のテーブルの値でテーブルを更新できます。

レコードを削除する

DELETE FROMステートメントは、テーブルからレコードを更新するために使用されます。

構文

以下は、DELETEFROMの一般的な構文です。

DELETE FROM  <tablename> 
[WHERE condition];

次の例では、従業員101をテーブルemployeeから削除します。

DELETE FROM Employee 
WHERE EmployeeNo = 101;

次の出力では、従業員101がテーブルから削除されていることがわかります。

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

ルール

  • テーブルの1つ以上のレコードを更新できます。

  • WHERE条件が指定されていない場合、テーブルのすべての行が削除されます。

  • 別のテーブルの値でテーブルを更新できます。