zukucode
主にWEB関連の情報を技術メモとして発信しています。

SQL テーブルに列(カラム)を追加をする方法

SQLでテーブルに列(カラム)を追加するにはALTER TABLE文を使用します。

(既に存在しているカラムの定義情報を変更したい場合はSQL テーブルの列(カラム)の定義情報を変更する方法を参照してください。)

以下のようにALTER TABLE xxx ADDxxxでテーブル名を指定します。

そのあとに、追加したいカラム名と型(桁数)をカンマ区切りで指定します。

ALTER TABLE employee ADD (
    last_name VARCHAR2(20),
    age NUMBER(3,0)
)

カラムの制約を追加する

SQL CREATE文でテーブルを新規作成するで紹介した方法と同じように、NOT NULLなどの制約を追加するには以下のようにします。

カラムの型名の後に制約を記載していきます。

ALTER TABLE employee ADD (
    last_name VARCHAR2(20) DEFAULT '名無し' NOT NULL,
    age NUMBER(3,0) NOT NULL
)

すでに対象のテーブルにレコードが存在する状態で、NOT NULL制約のあるカラムを追加すると以下のエラーが発生します。

ORA-01758: 必須列(NOT NULL)を追加するには、表を空にする必要があります。

エラー内容の説明通り、対象のテーブルのレコードを空にする必要があるので、注意が必要です。


関連記事