ここではOracleのテーブルの変更・削除について紹介します。
目次
テーブルを変更する
ALTER TABLE 文
テーブルに列を追加するには、「ALTER TABLE ~ RENAME TO ~」を使用します。
構文
ALTER TABLE {変更前のテーブル名}
RENAME TO {変更後のテーブル名};
以下はテーブル名「emp」を「emp_bak」に変更するALTER TABLE文です。
ALTER TABLE emp RENAME TO emp_bak;
テーブルを削除する
DROP TABLE 文
テーブルを削除するには、「DROP TABLE ~」を使用します。
構文
DROP TABLE {テーブル名};
以下はテーブル「emp」を削除するDROP TABLE文です。
DROP TABLE emp;
列を追加・変更・削除する
列を追加する
テーブルに列を追加するには、「ALTER TABLE ~ ADD (~)」を使用します。
構文
ALTER TABLE {テーブル名} ADD ({列名 型(桁), ...});
以下はテーブル「emp」に列「email」と「tel」を追加するALTER TABLE文です。
ALTER TABLE emp ADD (email VARCHAR(100), tel VARCHAR(20));
列名を変更する
テーブルに列を追加するには、「ALTER TABLE ~ RENAME COLUMN ~ TO ~」を使用します。
構文
ALTER TABLE {テーブル名}
RENAME COLUMN {変更前の列名} TO {変更後の列名};
以下はテーブル「emp」の列「emp_email」と「emp_email」に、「tel」を「emp_tel」に変更するALTER TABLE文です。
ALTER TABLE emp RENAME COLUMN email TO emp_email;
ALTER TABLE emp RENAME COLUMN tel TO emp_tel;
列のサイズを変更する
テーブルに列のサイズを変更するには、「ALTER TABLE ~ MODIFY (~)」を使用します。
構文
ALTER TABLE {テーブル名}
MODIFY ({列名 型(桁), ...});
以下はテーブル「emp」の列「emp_email」と「emp_tel」のサイズを変更するALTER TABLE文です。
ALTER TABLE emp MODIFY (emp_email VARCHAR(200), emp_tel VARCHAR(15));
列の初期値を変更する
テーブルに列の初期値を変更するには、「ALTER TABLE ~ MODIFY (~)」を使用します。
構文
ALTER TABLE {テーブル名}
MODIFY ({列名 DEFAULT 初期値, ...});
以下はテーブル「emp」の列「emp_email」と「emp_tel」に初期値を変更にするALTER TABLE文です。
ALTER TABLE emp MODIFY (emp_email DEFAULT 'aaa', emp_tel DEFAULT 'bbb');
列のNOT NULL制約を設定・解除する
テーブルに列のNOT NULL制約を設定・解除するには、「ALTER TABLE ~ MODIFY (~)」を使用します。
構文
--NOT NULL制約を設定する
ALTER TABLE {テーブル名}
MODIFY ({列名 NOT NULL, ...});
--NOT NULL制約を解除する
ALTER TABLE {テーブル名}
MODIFY ({列名 NULL, ...});
以下はテーブル「emp」の列「emp_email」と「emp_tel」に初期値を変更にするALTER TABLE文です。
ALTER TABLE emp MODIFY (emp_email NOT NULL); --NOT NULL制約を設定する
ALTER TABLE emp MODIFY (emp_email NULL); --NOT NULL制約を解除する
列を削除する
テーブルの列を削除するには、「ALTER TABLE ~ DROP (~)」を使用します。
構文
ALTER TABLE {テーブル名} DROP ({列名, ...});
以下はテーブル「emp」の列「emp_email」と「emp_tel」を削除するALTER TABLE文です。
ALTER TABLE emp DROP (emp_email, emp_tel);
以上、Oracleのテーブルの変更・削除について解説しました。