SQL ALTER TABLE

❮ 前章へ 次章へ ❯

ALTER TABLE 文

ALTER TABLE 文は、既存のテーブルへ列の追加、削除、または変更するために使用します。

SQL ALTER TABLE 構文

テーブルに列を追加するには、次の構文を使用します:

ALTER TABLE table_name
ADD column_name datatype

テーブルの列を削除するには、次の構文を使用します: (データベースシステムによっては、列の削除ができないことに注意してください):

ALTER TABLE table_name
DROP COLUMN column_name

テーブルの列のデータ型を変更するには、次の構文を使用します:

SQL Server / MS Access:

ALTER TABLE table_name
ALTER COLUMN column_name datatype

My SQL / Oracle (prior version 10G):

ALTER TABLE table_name
MODIFY COLUMN column_name datatype

Oracle 10G and later:

ALTER TABLE table_name
MODIFY column_name datatype

SQL ALTER TABLE の例

"Persons" テーブルを見てください:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

いま、"Persons" テーブルに "DateOfBirth" と言う列を追加しようと思います。

次の SQL 文を使用します:

ALTER TABLE Persons
ADD DateOfBirth date

新しい列 "DateOfBirth" は DATE 型で、日付を格納しようとしていることに注意してください。 データ型は、列が格納できるデータの種類を指定します。 MS Access、MySQL、および SQL Server で 使用可能な全てのデータ型の完全なリファレンスについては、データ型リファレンス をご覧ください。

"Persons" テーブルは、現在次のようになっています:

P_Id LastName FirstName Address City DateOfBirth
1 Hansen Ola Timoteivn 10 Sandnes  
2 Svendson Tove Borgvn 23 Sandnes  
3 Pettersen Kari Storgt 20 Stavanger  

データ型変更の例

"Persons" テーブルの、列名 "DateOfBirth" のデータ型を変更しようと思います。

次の SQL 文を使用します:

ALTER TABLE Persons
ALTER COLUMN DateOfBirth year

"DateOfBirth" 列は、year 型で、2 桁または 4 桁の年を格納しようとしていることに注意してください。


DROP COLUMN の例

"Persons" テーブルの、列名 "DateOfBirth" を削除しようと思います。

次の SQL 文を使用します:

ALTER TABLE Persons
DROP COLUMN DateOfBirth

"Persons" テーブルは、現在次のようになっています:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

❮ 前章へ 次章へ ❯