オーロラさんの勉強帳

33歳、未経験からIT業界へ。SESのロースキル客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

【SQL】【基礎】CREATE TABLEで表の作成 ORACLEデータベース

 

1.CREATE TABLE文とは

CREATE TABLEは表を作成するSQLです。

CREATE TABLEシステム権限を持っているユーザーで実行できます。

※他ユーザーのスキーマに表を作成する場合などは、別の権限も必要ですが詳細は省きます。

なお、CREATE TABLEは、文DDL(データ定義文:Data Definition Language)のため、自動でコミットされます。

 

2.CREATE TABLE文の構文

CREATE TABLE文の構文は以下の通りです。

 

・1列のみのテーブルを作成

CREATE TABLE [スキーマ.] テーブル名

(

列名1 データ型(サイズ) [制約]

);

・複数の列のテーブルを作成

CREATE TABLE [スキーマ.] テーブル名

(

列名1 データ型(サイズ) [制約]

,列名2 データ型(サイズ) [制約]

, 列名3 データ型(サイズ) [制約]

・・・・・・・・・

);

・指定する項目の説明

スキーマ:表を所有するスキーマを指定 ※自分のスキーマ内に作成する場合は省略可

テーブル名:作成する表名

列名:表内で一意の列名を指定する必要がある

データ型(サイズ):列に格納するデータ型とサイズを指定

制約:

 NOT NULL:NULL値を禁止

 CHECK:列のデータが満たす必要がある条件を指定し、満たさないデータを禁止

 UNIQUE KEY:重複したデータ禁止

 PRIMARY KEY:主キー。各行を一意に識別する。NULLを禁止。1テーブルに1つだけ定義可能

 FOREIGN KEY:外部キー。他テーブルの列を参照し、他テーブルの一意の値と一致しないデータを禁止

 DEFAULT:列のデフォルト値を指定

 

・表領域を指定する場合

以下のように表領域を指定することもできます。

CREATE TABLE [スキーマ.] テーブル名

(

列名1 データ型(サイズ) [制約]

,列名2 データ型(サイズ) [制約]

, 列名3 データ型(サイズ) [制約]

・・・・・・・・・

) TABLESPACE 表領域名;

 

 

3.CREATE TABLE文の練習

testDataテーブルの作成

 

CREATE TABLE testData (
 no NUMBER(6) PRIMARY KEY,
 name VARCHAR2(10) NOT NULL,
 email VARCHAR2(10)
);

 

以下のSELECT文でテーブルが作成されていることを確認しました。

SELCT * FROM testData;

 

テストで作成したテーブルのため、以下のDROP TABLE文でテーブルを削除しました。

DROP TABLE testData;

※削除後、SELCT * FROM testData;で削除されていることを確認しました。