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