三流備忘録OracleのSQL PL/SQL 関数 ついての備忘録
ホーム >> SQL備忘録 >> 表の作成

表の作成

構文

CREATE TABLE スキーマ名.表名
(
	列名1 データ型 [DEFAULT 規定値] [CONSTRAINT 制約名 制約]
	[, 列名2 データ型 [DEFAULT 規定値] [CONSTRAINT 制約名 制約] ]
	.....
	[,列名n データ型 [DEFAULT 規定値] [CONSTRAINT 制約名 制約] ]
	[,[CONSTRAINT 制約名 制約 (対象列名) ]]
);

制約の種類

制約 意味
NOT NULL 列にNULL値が入らない。
UNIQUE 値が一意である。
PRYMARY KEY 主キー制約。NOT NULLとUNIQUEの両方の制約を持つ。複合主キーにする場合には表レベルの制約にする。
FOREIGN KEY 外部キー制約。外部キーの値は、親表と同じかNULL値でなくてはならない。
CHECK チェック制約。チェック制約には擬似列(CURRVAL・NEXTVAL・ROWNUM)、関数、副問い合わせは使用できない。

/******************************************************
例
******************************************************/
CREATE TABLE HOGE(
	ID 	NUMBER(6) 	CONSTRAINT hoge_id 	PRIMARY KEY,
	NAME	VARCHAR2(30)	CONSTRAINT hoge_name 	NOT NULL,
	BIRTH	DATE,
	DEPTID	NUMBER(4),
	HOGE	NUMBER(5)	CONSTRAINT hoge_chk	CHECK( HOGE > 10 ),
	CONSTRAINT hoge_fk	FOREING KEY (DEPTID)
					REFERENCES DEPT_MST(DEPTID)
);

表の変更

ALTER TABLE を使用する。

  • 列追加、削除。(削除は8I以降だったきがします・・・)
  • 既存の列の変更。
  • ディフォルト値の設定。
  • 表の削除

    構文

    DROP TABLE 表名;