トップページ >  Oracle SQL >  表の変更
初版2006/07/31: 最終更新日2008/03/31
  表の変更
目次
表の変更
既存の表に列を追加
既存の表の列を削除
既存の表の列を変更
表の変更
表を変更するには、alter tableコマンドを使用します。
表の定義の変更には以下のようなパターンがあります。

既存の表に列を追加
既存の表の列を削除
既存の表の列を変更
列のデフォルト値の追加(変更)
制約の追加
制約の削除
制約の有効化
制約の無効化

などがあります。

既存の表に列を追加
表に列を追加するには

alter table テーブル名
add(列名 型)

とします。するとテーブルの最後に列が追加されます。
複数列追加するには

alter table テーブル名 add(
列名 型,
列名 型
)

というように項目ごとにaddを増やしていきます。
具体的には

alter table employee
add(emp_no varchar2(8))
add(emp_name varchar2(20))

というように記述します。
データ型の定義が必要なので注意してください。

既存の表の列を削除
逆に表の削除を行うには

alter table テーブル名
drop(列名);

となります。この場合、列名のみの指定で削除することが出来ます。
既存の表の列を変更
表の定義を変更するには
alter table テーブル名 modify(
列名 型,
列名 型
);

とします。この時、データに値が入っていたりするとエラーになる場合があります。
ただし、VARCHAR(10)をVARCHAR(20)に変更する場合などはデータが入っていても大丈夫です。

NOT NULL制約の列をNULLABLEにする場合は

alter table テーブル名 modify(
列名 型 NULL
);

と明示します。