Oracle table,view等のDDLの作成のサンプル

OracleXE11のtable,view等のDDLの作成のサンプルです。
DDLとは、Data Definition Languageの略でそのまま訳すとデータを定義する言語です。

確認環境
・Oracle Express Edition 11g Release 2
・Windows 10

目次

テーブル テーブルを作成する
  テーブルの項目の属性を変更する
  テーブルに項目を追加する
  テーブルの項目を削除する
  テーブルを削除する
ビュー ビューを作成する
  ビューを変更する
  ビューを削除する
シノニム シノニムを作成する
  シノニムを削除する
シーケンス シーケンスを作成する
  シーケンスの使い方
  シーケンスを削除する

テーブル

テーブル関連のサンプルです。

テーブルを作成する

CREATE TABLE syain(
	id NUMBER(6,0),
	name VARCHAR2(20) not null,
	romaji VARCHAR2(20),
	primary key(id)
);

2行目は、number型です。整数6桁を指定しています。
3行目は、not null制約をつけています。
5行目は、プライマリーキーを指定しています。2行目のidを指しています。

テーブルの項目の属性を変更する

ALTER TABLE syain MODIFY(
	id VARCHAR2(20)
);

syainテーブルの項目idをvarchar2型に変更しています。

テーブルに項目を追加する

ALTER TABLE syain ADD(
	mail VARCHAR2(30)
);

表の最後尾に項目mailが追加されます。

テーブルの項目を削除する

ALTER TABLE syain DROP(
	mail
);

表の項目mailを削除しています。桁数の指定は不要です。

テーブルを削除する

drop table syain;

drop tableを使用します。項目の指定は不要です。

ビュー

ビューは、sqlで仮想の表を作成します。

ビューを作成する

CREATE VIEW v_syain AS
	select
		id,
		name
	from
		syain
with read only;

2~6行目は、select文でsyainテーブルからビューを作成しています。
select文なので複数のテーブルを結合したsqlも作成できます。
7行目は、読み取り専用を指定しています。

ビューを変更する

CREATE OR REPLACE VIEW v_syain AS
	select
		id,
		name,
		romaji
	from
		syain
with read only;

1行目は、OR REPLACEを追加しています。
5行目は、viewに項目を追加しています。

ビューを削除する

DROP VIEW v_syain;

drop viewを使用します。項目の指定は不要です。

シノニム

シノニムとは、同義語という意味です。テーブルに別名をつけれます。

シノニムを作成する

CREATE SYNONYM sy_syain FOR syain;

syainテーブルからsy_syainというシノニムを作成しています。
sy_syainというテーブルにinsertした場合、syainテーブルにデータが追加されます。

シノニムを削除する

DROP SYNONYM sy_syain;

シーケンス

シーケンスは、順序とも呼ばれます。指定した値の増分を取得できます。

シーケンスを作成する

CREATE SEQUENCE syain_id
	START WITH 1
	INCREMENT BY 1;

2行目は、最初は1から始まると指定しています。
3行目は、増分です。1ずつ増えます。

シーケンスの使い方

SQL> select syain_id.nextval from dual;
   NEXTVAL
----------
         1

SQL> select syain_id.currval from dual;
   CURRVAL
----------
         1

SQL> select syain_id.currval from dual;
   CURRVAL
----------
         1

1行目は、nextval関数で次の値を取得します。再度、nextvalを使用すると次は2になります。
6,11行目は、currval関数で現在の値を取得します。何度行っても値は変わりません。

シーケンスを削除する

DROP SEQUENCE syain_id;

DROP SEQUENCEを使用します。

関連の記事

OracleXE11のインストールとHRテーブルを確認
Oracle SQLコマンドラインを使用するサンプル
Oracle PL/SQLのプロシージャのサンプル

△上に戻る