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:

ALTER TABLE table_name
MODIFY COLUMN column_name datatype

Oracle 10G 以降のバージョン:

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 の例

次に、「Person」テーブルの「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

その他の拡張