SQL ADD COLUMN

概要: このチュートリアルでは、既存のテーブルに1つ以上の列を追加するために、ALTER TABLE ステートメントのSQL ADD COLUMN 句の使用方法を学習します。

SQL ADD COLUMN 句の概要

テーブルに新しい列を追加するには、次のようにALTER TABLE ADD COLUMN ステートメントを使用します。

ALTER TABLE table_name
ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)

このステートメントでは、

  • まず、新しい列を追加するテーブルを指定します。
  • 次に、ADD COLUMN 句の後に列定義を指定します。

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

column_name data_type constraint;
Code language: SQL (Structured Query Language) (sql)

単一のステートメントを使用して既存のテーブルに複数の列を追加する場合は、次の構文を使用します。

ALTER TABLE table_name
ADD [COLUMN] column_definition,
ADD [COLUMN] column_definition,
 ...;
Code language: SQL (Structured Query Language) (sql)

さまざまなデータベースシステムでは、ALTER TABLE ADD COLUMN ステートメントが多少の違いを伴ってサポートされています。参照については、次のセクションを確認してください。

SQL ADD COLUMN の例

次のステートメントは、candidates という名前の新しいテーブルを作成します。

CREATE TABLE candidates (
    id INT PRIMARY KEY,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    email VARCHAR(255) NOT NULL UNIQUE
);
Code language: SQL (Structured Query Language) (sql)

candidates テーブルにphone列を追加するには、次のステートメントを使用します。

ALTER TABLE candidates
ADD COLUMN phone VARCHAR(50);
Code language: SQL (Structured Query Language) (sql)

candidates テーブルに自宅住所、生年月日、LinkedInアカウントの3つの列を追加するには、次のステートメントを使用します。

ALTER TABLE candidates
ADD COLUMN home_address VARCHAR(255),
ADD COLUMN dob DATE,
ADD COLUMN linkedin_account VARCHAR(255);
Code language: SQL (Structured Query Language) (sql)

いくつかの一般的なデータベースシステムにおけるSQL ADD COLUMN ステートメント

次のセクションでは、いくつかの一般的なデータベースシステムにおけるALTER TABLE ADD COLUMN ステートメントの構文について説明します。

PostgreSQL

PostgreSQLでテーブルに1つの列を追加する:

ALTER TABLE table_name
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)

PostgreSQLでテーブルに複数の列を追加する

    ALTER TABLE table_name
    ADD COLUMN column_definition,
    ADD COLUMN column_definition,
    ...
    ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)

MySQL

MySQLでテーブルに1つの列を追加する:

    ALTER TABLE table_name
    ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)

MySQLでテーブルに複数の列を追加する

    ALTER TABLE table_name
    ADD [COLUMN] column_definition,
    ADD [COLUMN] column_definition,
    ...
    ADD [COLUMN] column_definition;
Code language: SQL (Structured Query Language) (sql)

Oracle

Oracleでテーブルに1つの列を追加する:

ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)

Oracleでテーブルに複数の列を追加する

ALTER TABLE table_name 
ADD (
    column_definition,
    column_definition,
    ...
);
Code language: SQL (Structured Query Language) (sql)

SQL Server

SQL Serverでテーブルに1つの列を追加する:

ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)

SQL Serverでテーブルに複数の列を追加する

ALTER TABLE table_name
ADD
    column_definition,
    column_definition,
    ...;
Code language: SQL (Structured Query Language) (sql)

SQLite

SQLiteでテーブルに1つの列を追加する

ALTER TABLE table_name
ADD COLUMN column_definition;
Code language: SQL (Structured Query Language) (sql)

SQLiteは、単一のステートメントを使用してテーブルに複数の列を追加することをサポートしていません。テーブルに複数の列を追加するには、複数のALTER TABLE ADD COLUMN ステートメントを実行する必要があります。

DB2

DB2でテーブルに1つの列を追加する

ALTER TABLE table_name
ADD column_definition;
Code language: SQL (Structured Query Language) (sql)

DB2でテーブルに複数の列を追加する

ALTER TABLE table_name
ADD
    column_definition
    column_definition
    ...;
Code language: SQL (Structured Query Language) (sql)

列間にコンマがないことに注意してください。

このチュートリアルでは、既存のテーブルに1つ以上の列を追加するための、ALTER TABLE ステートメントのSQL ADD COLUMN 句について学習しました。

このチュートリアルは役に立ちましたか?