大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ORACLEMASTER 備忘録8(4/10)

著者:伊関星児
公開日:2020/09/25
最終更新日:2020/09/25
カテゴリー:技術情報
タグ:

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  式][列レベル制約]…]

);

 

制約は“列レベル”または“表レベル”で定義できる。列レベルで定義した制約を列レベル制約、表レベルで定義した制約を表レベル制約と呼ぶ。この二つの違いは構文による違いだけ。

    上に戻る