SQL ALTER TABLEステートメント
ALTER TABLE ステートメント
ALTER TABLE ステートメントは、既存のテーブルに列を追加、削除、または変更するために使用されます。
SQL ALTER TABLE 構文
テーブルに列を追加するには、次の構文を使用してください:
ALTER TABLE table_name
ADD column_name datatype
ADD column_name datatype
テーブルから列を削除するには、次の構文を使用してください(一部のデータベースシステムでは、この方法でデータベーステーブルの列を削除することはできないことに注意してください):
ALTER TABLE table_name
DROP COLUMN column_name
DROP COLUMN column_name
テーブルの列のデータ型を変更するには、次の構文を使用してください:
SQL Server / MS Access:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
ALTER COLUMN column_name datatype
My SQL / Oracle:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
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
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
ALTER COLUMN DateOfBirth year
ご注意ください。この時点で「DateOfBirth」列の型は year で、2桁または4桁の形式の年を格納できます。
DROP COLUMN の例
次に、「Person」テーブルの「DateOfBirth」列を削除します。
次の SQL ステートメントを使用します:
ALTER TABLE Persons
DROP COLUMN DateOfBirth
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 |
その他の拡張