蜜蜂号覚書 SQL > DDL
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Contents


SQL/DDL

create table

create table テーブル名 (項目名 型 [NOT NULL | UNIQUE | PRIMARY KEY], ...);

表領域を指定する。

create table テーブル名 (項目名 型 [NOT NULL | UNIQUE | PRIMARY KEY], ...) tablespace 表領域名;

INDEXは別の表領域を使用する。

create table テーブル名 (項目名 型, ... primary key (項目名) using index tablespace 表領域名);

alter table

項目追加

alter table テーブル名 add (項目名 型);

複数項目追加

alter table テーブル名 add (項目名 型, 項目名 型);

項目長変更

alter table テーブル名 modify (項目名 型);
  • 型の変更、長さを変更できる。

テーブルの表領域を移動する。

alter table テーブル名 move tablespace 表領域名;

テーブル名を変更する。

alter table 変更前テーブル名 rename to 変更後テーブル名
または
rename 変更前テーブル名 to 変更後テーブル名

create sequence

create sequence 順序名 [start with 初期値] [increment by 増分値] [maxvalue 最大値 | nomaxvalue] [minvalue 最小値 | nominvalue] [cycle | nocycle] [cache | nocache]
start with:開始位置。初期値 1
increment by:増分値。指定した値ずつ増えていく。初期値 1
maxvalue:最大値。設定した値以上増えない。 初期値 NOMAXVALUE
minvalue:最小値。設定した値から始まる? 初期値 1
cycle:最大値まで言った場合に最小値に戻ってもう一度やり直すか否か。 初期値 nocycle
cache:? 初期値 20

start withはsequenceを作成した時の開始位置。minvalueはcycleした時の開始位置。

alter sequence

alter sequence 順序名[increment by 増分値] [maxvalue 最大値] [minvalue 最小値] [cycle] [cache | nocache]
start withは変更出来ない。(drop, createする)
矛盾する内容に変更出来ない。(現在値を超える最小値、現在値を下回る最大値など)

create index

create index インデックス名 on テーブル名 (カラム名[,カラム名]) [tablespace テーブルスペース名]

indexの表領域を変更する。

alter index 制約名 rebuild tablespace 表領域名;
rebuildでindex領域を再作成する。
tablespace以下を省略するとデフォルトの状態でindex領域を再作成する。

index名を変える。

alter index 変更前インデックス名 rename to 変更後インデックス名
試して無いけど、↓でも大丈夫かも。
rename 変更前インデックス名 to 変更後インデックス名

commentをつける。

comment on table テーブル名 is 'コメント';
comment on column テーブル名.カラム名 is 'コメント';
コメントは付加的なものなので不要ならつけなくても良い。付いていた方が後々便利だったりするので付けられるならつけたほうが良いが。