OracleのCREATE TABLEについて。
この記事の内容はコチラです
- CREATE TABLEの使い方
- テーブルを作成したい
今回は、Oracleの「CREATE TABLE」について紹介します!
CREATE TABLE テーブルを作成する
Oracleでテーブル(表)を作成するには「CREATE TABLE ~」を使います。
--テーブル(表)を作成する
CREATE TABLE {テーブル名}
(
{列1} {列1のデータ型},
{列2} {列2のデータ型},
{列3} {列3のデータ型},
CONSTRAINT {主キー名} PRIMARY KEY(列1)
)
TABLESPACE {表領域名};
「CREATE TABLE ~」でテーブル名、列を定義します。
「CONSTRAINT~」はプライマリーキー(主キー)の設定です。オプションなのでなしでもOKです。同様に 表領域もオプションです。指定しないとデフォルトの表領域にテーブルが作成されます。
例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」に作成しました。
「CONSTRAINT pk1 PRIMARY KEY(empno)」はプライマリーキー(主キー)の記述です。プライマリーキー「pk1」をカラム「empno」に指定しました。
プライマリーキーはテーブル作成後でも追加できます。
例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;
「CONSTRAINT pk1 PRIMARY KEY(empno,area)」はプライマリーキーの記述です。プライマリーキー「pk1」を複数列「empno,erea」に対して指定しました。
例4. 他のテーブルをもとにテーブルを作成する
--他のテーブルをもとにテーブル(表)を作成する
CREATE TABLE emp
AS SELECT * FROM test;
他のテーブルと全く同じ構成でテーブルを作成(コピー)する場合は、「AS」以降に元になるテーブルでSELECTすればOKです。
ここでは「test」テーブルから「emp」テーブルをコピーして作成しました。これはテーブルを作成するだけなので、元テーブルのデータは引き継がれません。
参照:CREATE TABLE – Oracle Database SQL言語リファレンス
以上、Oracleでテーブル(表)を作成する「CREATE TABLE ~」でした。
コメント