テーブルがデータベースの中に作られた場合、そのテーブルの構造を変えなえればならないことがよくあります。よく見られるのは次のような場合です。
- 一つのフィールドの追加
- 一つのフィールドの削除
- フィールド名の変更
- フィールドのデータ種類の変更
上述の変更は、必ずしも変えなければならないことではありません。ALTER TABLEが他の変更にもよく使われます。例えば、主キーの定義を変更する場合がそれです。
ALTER TABLE プログラミングは次のようになります。
ALTER TABLE "テーブル名"
[変更方法]
[変更方法] に関する詳しい内容は、目的により違います。上述の変更の場合、[変更方法]は次のようになります。
- 一つのフィールドの追加: ADD "フィールド 1" "フィールド 1 のデータ種類"
- 一つのフィールドの削除: DROP "フィールド 1"
- フィールド名の変更: CHANGE "元のフィールド名" "新しいフィールド名" "新しいフィールド名のデータ種類"
- フィールドのデータ種類の変更: MODIFY "フィールド 1" "新しいデータ種類"
次は、 CREATE TABLE のページに作られたcustomer テーブルを例とします。
customer テーブル
| フィールド名 | 資料の種類 |
| First_Name | char(50) |
| Last_Name | char(50) |
| Address | char(50) |
| City | char(50) |
| Country | char(25) |
| Birth_Date | date |
まず、"gender" というフィールドを追加する場合、次のコマンドを使うことができます。
ALTER table customer add Gender char(1)
そのコマンドで行われたとき、テーブルの構造が次のようになります。
customer テーブル
| フィールド名 | 資料の種類 |
| First_Name | char(50) |
| Last_Name | char(50) |
| Address | char(50) |
| City | char(50) |
| Country | char(25) |
| Birth_Date | date |
| Gender | char(1) |
次に、"Address" フィールドを "Addr"の名前に変更する場合、次のコマンドが使えます。
ALTER table customer change Address Addr char(50)
そのコマンドで行われたとき、テーブルの構造が次のようになります。
customer テーブル
| フィールド名 | 資料の種類 |
| First_Name | char(50) |
| Last_Name | char(50) |
| Addr | char(50) |
| City | char(50) |
| Country | char(25) |
| Birth_Date | date |
| Gender | char(1) |
それから、 "Addr" フィールドのデータ種類を char(30)にする場合、次のコマンドを使うことができます。
ALTER table customer modify Addr char(30)
そのコマンドで行われたとき、テーブルの構造が次のようになります。
customer テーブル
| フィールド名 | 資料の種類 |
| First_Name | char(50) |
| Last_Name | char(50) |
| Addr | char(30) |
| City | char(50) |
| Country | char(25) |
| Birth_Date | date |
| Gender | char(1) |
最後に、 "Gender" フィールドを削除する場合、次のコマンドを使うことができます。
ALTER table customer drop Gender
そのコマンドで行われたとき、テーブルの構造が次のようになります。
customer テーブル
| フィールド名 | 資料の種類 |
| First_Name | char(50) |
| Last_Name | char(50) |
| Addr | char(30) |
| City | char(50) |
| Country | char(25) |
| Birth_Date | date |