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