Teradata-data-manipulation

提供:Dev Guides
移動先:案内検索

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

EmployeeNo FirstName LastName JoinedDate DepartmentNo BirthDate
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可能フィールドにはNULLが挿入されます。
  • VALUES句で指定された列のデータ型は、INSERT句の列のデータ型と互換性がある必要があります。

レコードを更新する

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

構文

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

UPDATE <tablename>
SET <columnnamme> = <new value>
[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

規則

  • テーブルの1つ以上の値を更新できます。
  • WHERE条件が指定されていない場合、テーブルのすべての行が影響を受けます。
  • 別のテーブルの値でテーブルを更新できます。

レコードを削除する

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

構文

DELETE FROMの一般的な構文は次のとおりです。

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条件が指定されていない場合、テーブルのすべての行が削除されます。
  • 別のテーブルの値でテーブルを更新できます。