【Oracle】CREATE TABLE テーブルを作成する

CREATE TABLE テーブルを作成する

Oracleでテーブル(表)を作成するには「CREATE TABLE ~」を使います。

--テーブル(表)を作成する
CREATE TABLE {テーブル名} 
 (
 {列1} {列1のデータ型},
 {列2} {列2のデータ型} ,
 {列3} {列3のデータ型} 
 ) 
TABLESPACE {表領域名};

「CREATE TABLE ~」でテーブル名、列を定義します。表領域は指定しないとデフォルトの表領域にテーブルが作成されます。

例1. テーブルを作成する

--テーブル(表)を作成する
CREATE TABLE emp 
 (
 empno VARCHAR2(10) NOT NULL,
 empname VARCHAR2(50),
 gender_f NUMBER(1,0)
 ) 
;

ここでは3つの列からなるテーブル「emp」を作成しました。表領域は指定していないので、デフォルト表領域に作成されました。

「empno」に「NOT NULL」制約をつけました。これはNULL値を許可しないという意味です。必ずデータを登録しないといけない列に対して設定します。



例2. プライマリーキーを指定してテーブルを作成する

--テーブル(表)を作成する
CREATE TABLE emp 
 (
 empno VARCHAR2(10),
 empname VARCHAR2(50),
 gender_f NUMBER(1,0),
 CONSTRAINT pk1 PRIMARY KEY(empno)
 ) 
TABLESPACE tabsp1;

ここでは3つの列からなるテーブル「emp」を表領域「tabsp1」に作成しました。プライマリーキー「pk1」を「empno」に対して指定しました。

プライマリーキーはテーブル作成後でも追加できます。

Oracleのプライマリーキー/primary key(主キー)を作成するSQL

例3. プライマリーキーを複数指定してテーブルを作成する

--テーブル(表)を作成する
CREATE TABLE emp 
 (
 empno VARCHAR2(10),
 area NUMBER(3,0),
 empname VARCHAR2(50),
 gender_f NUMBER(1,0),
 CONSTRAINT pk1 PRIMARY KEY(empno,area)
 ) 
TABLESPACE tabsp1;

プライマリーキー「pk1」を複数列「empno,erea」に対して指定しました。

例4. 他のテーブルをもとにテーブルを作成する

--他のテーブルをもとにテーブル(表)を作成する
CREATE TABLE emp 
 AS SELECT * FROM test;

他にテーブルと全く同じ構成でテーブルを作成する場合は、「AS」以降に元になるテーブルでSELECTすればOKです。

ここでは「test」テーブルから「emp」テーブルを作成しました。

 

参照CREATE TABLE – Oracle Database SQL言語リファレンス

以上、Oracleでテーブル(表)を作成する「CREATE TABLE ~」でした。

 

コメント

タイトルとURLをコピーしました