🧚 お知らせ!Beekeeper Studioは高速でモダンなオープンソースのデータベースGUIです ダウンロード
2024年6月4日 著者: Matthew Rathbone

はじめに

Teradataで既存のテーブルに列を追加するのは簡単です。このガイドでは、列の追加方法と構文を解説し、よくあるユースケースをコード例と期待される出力とともに紹介します。

前提条件

  • SQLの基本的な知識
  • Teradataデータベースへのアクセス

‘ALTER TABLE’の使用

ALTER TABLEコマンドは、既存のテーブル構造を変更するために使用します。ALTER TABLEで行える基本的な変更は次のとおりです:

  • 新しい列の追加
  • 既存の列の変更
  • 列の削除
  • 列名の変更

このチュートリアルでは、列の追加に焦点を当てます。

列の追加 - 基本構文

テーブルに新しい列を追加する基本構文は次のとおりです:

ALTER TABLE table_name
ADD column_name data_type [optional_constraint];
  • table_name:変更するテーブルの名前。
  • column_name:追加する新しい列の名前。
  • data_type:新しい列のデータ型(例:INTEGER、VARCHAR、DATE)。
  • [optional_constraint]:NOT NULL、UNIQUEなどの制約。

実践例:

環境の準備

まず、デモ用のサンプルテーブルを作成しましょう。

CREATE TABLE Employees (
    EmployeeID INTEGER,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    HireDate DATE
);

初期データ

INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate)
VALUES (1, 'John', 'Doe', '2022-01-15'),
       (2, 'Jane', 'Smith', '2021-06-30');

期待される出力:

EmployeeID FirstName LastName HireDate
1 John Doe 2022-01-15
2 Jane Smith 2021-06-30

データ型を指定して列を追加

まずはEmployeesテーブルにシンプルな列Emailを追加してみましょう。

ALTER TABLE Employees
ADD Email VARCHAR(100);

列の追加を確認する

列が追加されたことを確認するには、HELP TABLEコマンドを使用します。

HELP TABLE Employees;

期待される出力:

列名 型 コメント
EmployeeID INTEGER  
FirstName VARCHAR(50)  
LastName VARCHAR(50)  
HireDate DATE  
Email VARCHAR(100)  

デフォルト値付きで列を追加

新しい列をデフォルト値で初期化すると便利な場合があります。デフォルト値が‘Active’の列Statusを追加しましょう。

ALTER TABLE Employees
ADD Status VARCHAR(20) DEFAULT 'Active';

追加を検証する

新しい従業員を挿入して、デフォルト値を確認します。

INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate)
VALUES (3, 'Alice', 'Johnson', '2022-03-01');

データを取得して検証します:

SELECT * FROM Employees;

期待される出力:

EmployeeID FirstName LastName HireDate Email Status
1 John Doe 2022-01-15 NULL NULL
2 Jane Smith 2021-06-30 NULL NULL
3 Alice Johnson 2022-03-01 NULL Active

制約付きで列を追加

次に、NULLを許可しないDepartmentID列を追加しましょう。

ALTER TABLE Employees
ADD DepartmentID INTEGER NOT NULL;

これで、DepartmentIDを指定せずに新しいレコードを挿入しようとするとエラーになります:

INSERT INTO Employees (EmployeeID, FirstName, LastName, HireDate)
VALUES (4, 'Bob', 'Williams', '2022-02-20');  -- This will fail

期待される出力:

ERROR: Column 'DepartmentID' cannot be null

複数の列を追加

複数の列を追加したい場合は、1つのALTER TABLE文でまとめて行えます。

ALTER TABLE Employees
ADD JobTitle VARCHAR(50),
ADD Salary INTEGER;

追加を確認する

HELP TABLE Employees;

期待される出力:

列名 型 コメント
EmployeeID INTEGER  
FirstName VARCHAR(50)  
LastName VARCHAR(50)  
HireDate DATE  
Email VARCHAR(100)  
Status VARCHAR(20)  
DepartmentID INTEGER  
JobTitle VARCHAR(50)  
Salary INTEGER  

まとめ

Teradataのテーブルへの列の追加はシンプルな操作で、必要に応じてデータベーススキーマを拡張できます。紹介した手順と例に従い、データ型、制約、デフォルト値を考慮することで、変更を効果的かつ正確に行えます。

楽しいクエリライフを!

Beekeeper Studioは無料のオープンソースのデータベースGUIです

これまで使った中で最高のSQLクエリ&エディタツールです。データベースの管理に必要なものがすべて揃っています。 - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studioは高速で直感的、そして使いやすいツールです。多数のデータベースに対応し、Windows、Mac、Linuxで快適に動作します。

BeekeeperのLinux版は100%フル機能。手抜きも機能の妥協も一切ありません。

Beekeeper Studio 利用者の声

★★★★★
「Beekeeper Studioは、これまでのSQLワークフローを完全に置き換えてくれました。高速で直感的、データベース作業が再び楽しくなりました。」
— Alex K.、データベース開発者
★★★★★
「多くのデータベースGUIを試してきましたが、Beekeeperは機能とシンプルさのバランスが完璧です。とにかくちゃんと動きます。」
— Sarah M.、フルスタックエンジニア