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 ~」でした。
コメント