SQL テーブルの列(カラム)の定義情報を変更する方法
SQL
でテーブルの列(カラム)の定義情報を変更するにはALTER TABLE
文を使用します。
(新たにカラムの定義を追加したい場合はSQL テーブルに列(カラム)を追加をする方法を参照してください。)
以下のようにALTER TABLE xxx MODIFY
のxxx
でテーブル名を指定します。
そのあとに、追加したいカラム名と変更する定義情報をカンマ区切りで指定します。
ALTER TABLE employee MODIFY (
last_name VARCHAR2(40) DEFAULT '名無しです' NULL,
age NUMBER(5,0)
)
型を変更する
例えばVARCHAR2(20)
で定義されているカラムのサイズを40
に変更する場合は以下のようにします。
ALTER TABLE employee MODIFY (
last_name VARCHAR2(40)
)
NOT NULL制約を設定・削除する
NOT NULL
制約を設定するには以下のようにします。
ALTER TABLE employee MODIFY (
last_name NOT NULL
)
逆にNOT NULL
制約を削除するには以下のようにします。
ALTER TABLE employee MODIFY (
last_name NULL
)
対象のテーブルに登録されているレコードの内容と矛盾が生じる変更を行うとエラーが発生します。
例えば、VARCHAR2(20)
のカラムに20
バイトのデータを持つレコードが存在する状態で、VARCHAR2(5)
に桁数を変更することはできません。