ORACLEMASTER 備忘録8(4/10)
SQL Developerを使用した表の作成
- 表を作成するユーザーでSQL Developerに接続する。今回は、新しいスキーマを作成するところから始めるため、SQL*Plusで「tabowner」というユーザーを作成している。
- SQL Developerを起動してtabowner接続を展開し、「表」ノードを右クリックして「新規の表」を選択する。
- 「表の作成」ウィンドウで各値を設定する。
・「名前」フィールド:表名
・「列名」フィールド:列名
・「タイプ」フィールド:データ型
・「サイズ」フィールド:適切な値
また、主キーの場合は、「主キー」チェックボックスにチェックを入れる。NUMBER型の列の位取りを入力するには、右上の「詳細」チェックボックスをクリックする。
4、「列」フィールドでスケール(位取り)を設定する列を選択して、「スケール」フィールドに値を入力する。この画面で列を追加することもできる。入力が終わったら、「OK」ボタンをクリックする。
- 表が作成されて「表」ノードにリストされる。「編集」ボタンをクリックすると、再び表定義を編集できる。
SQL文を使用した表の作成
SQL文を使用して表を作成するには、“CREATE TABLE文”を使用する。なお、表を作成するには“CREATE TABLE権限”、他のユーザーが所有するスキーマに表を作成するには“CREATE ANY TABLE権限”が必要である。
・表の作成
CREATE TABLE[スキーマ名.]表名
(
列名 データ型
[,列名 データ型 …]
);
CREATE TABLE AS SELECT文(CTAS)を使用すると、既存の表をもとにして新しい表を作成できる。表の作成と同時に副問合せで取り出したデータを表にコピーできる。
・既存の表の複製
CREATE TABLE 表名[(列名[,列名 …])]
AS SELECT文;
CREATE TABLE AS SELECT文(CTAS)では、NOT NULL制約以外の制約はコピーされない。
表の変更
Oracleデータベースでは、作成した表に対して、次のような変更作業を実行できる。
・表に新しい列を追加する。
・既存の列のデータ型を変更する。
・既存の列にデフォルト値を設定する。
・既存の列を削除する。
・既存の列の名前を変更する。
・表を読取り/書込みモードにする。
・表を読取りモードにする。
SQL Developerを使用した表の作成
SQL Developerで表を作成するには、次の手順を実行する。
- 変更する表を右クリックしてメニューを表示し、行いたい変更を選択する。
SQL文を使用した表の変更
SQL文を使用して既存の表を変更するには、“ALTERE TABLE文”を使用する。列および制約を追加するには“ALTER TABLE~ADD文”を使用する。
・列の追加
ALTER TABLE 表名
ADD(列名 データ型[DEFFAULT 式][列レベル制約]
[,列名 データ型[DEFFAULT 式][列レベル制約]…]
);
制約は“列レベル”または“表レベル”で定義できる。列レベルで定義した制約を列レベル制約、表レベルで定義した制約を表レベル制約と呼ぶ。この二つの違いは構文による違いだけ。