概要: このチュートリアルでは、既存のテーブルに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
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
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
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
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 句について学習しました。