This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| data_definition_language [2015/03/15 16:58] – 만듦 ledyx | data_definition_language [2015/09/13 16:35] (current) – 제거됨 ledyx | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | = CREATE = | ||
| - | * SCHEMA | ||
| - | <sxh sql> | ||
| - | CREATE SCHEMA 스키마명 AUTHORIZATION 사용자ID; | ||
| - | </ | ||
| - | |||
| - | * DOMAIN | ||
| - | <sxh sql> | ||
| - | CREATE DOMAIN 도메인명 DataType | ||
| - | [DEFAULT 기본값] --DEFAULT ' | ||
| - | [CONSTRAINT 제약조건명 CHECK(범위값)]; | ||
| - | </ | ||
| - | |||
| - | * TABLE | ||
| - | <sxh sql> | ||
| - | CREATE TABLE 테이블명 ( | ||
| - | 속성명 DataType [NOT NULL], ... | ||
| - | [, PRIMARY KEY(PK명, ...)] | ||
| - | [, UNIQUE (AK명, ...)] | ||
| - | [, FOREIGN KEY(FK명, ...) REFERENCES 참조테이블명(PK명, | ||
| - | [ON DELETE 옵션] | ||
| - | [ON UPDATE 옵션] | ||
| - | --옵션 : 참조 테이블의 변화에 따라... NO ACTION, CASCADE, SET NULL, SET DEFAULT | ||
| - | [, CONSTRAINT 제약조건명] [제약조건] -- 제약조건 : CHECK(T/F 판별 논리식), PK, FK, UNIQUE KEY, NOT NULL | ||
| - | ); | ||
| - | </ | ||
| - | <sxh sql> | ||
| - | --CTAS(CREATE TABLE ~ AS SELECT ~) : Sub Query를 이용한 테이블 복제 생성 | ||
| - | --제약조건 중 "NOT NULL" | ||
| - | |||
| - | --ORACLE | ||
| - | CREATE TABLE 테이블명 | ||
| - | AS SELECT문; | ||
| - | |||
| - | --SQL Server | ||
| - | --* 컬럼 속성에 IDENTITY를 사용했다면, | ||
| - | SELECT * INTO 테이블명 | ||
| - | FROM 복제할테이블 | ||
| - | </ | ||
| - | |||
| - | * VIEW | ||
| - | <sxh sql> | ||
| - | CREATE VIEW 뷰명[(속성명[, | ||
| - | AS SELECT문; --VIEW의 Sub Query에서는 UNION, ORDER BY 사용 불가. | ||
| - | </ | ||
| - | |||
| - | * INDEX | ||
| - | <sxh sql> | ||
| - | CREATE [UNIQUE] INDEX 인덱스명 | ||
| - | ON 테이블명({속성명 [ASC|DESC][, | ||
| - | [CLUSTER] --지정된 Key에 따라 Tuple들을 Group으로 지정하기 위해 사용 | ||
| - | </ | ||
| - | |||
| - | * Trigger | ||
| - | <sxh sql> | ||
| - | CREATE TRIGGER 트리거명[BEFORE|AFTER][INSERT|DELETE|UPDATE] ON 테이블명 --[동작시기 옵션][동작 옵션] | ||
| - | REFERENCING [NEW|OLD] TABLE AS 테이블명 | ||
| - | FOR EACH ROW | ||
| - | WHEN 조건식 | ||
| - | BEGIN | ||
| - | SQL문; | ||
| - | END; | ||
| - | </ | ||
| - | |||
| - | = ALTER TABLE = | ||
| - | <sxh sql> | ||
| - | ALTER TABLE 테이블명 | ||
| - | /*(Column 추가)*/ ADD 속성명 데이터타입 [DEFAULT ' | ||
| - | /*(Column 변경)*/ MODIFY 속성명 변경할_데이터타입 [DEFAULT ' | ||
| - | /*(Column 삭제)*/ DROP COLUMN 속성명 [CASCADE] [, ...]; | ||
| - | /*(COLUMN 이름 변경)*/ 속성명 TO 새속성명 | ||
| - | |||
| - | --제약조건 관련 | ||
| - | / | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | = DROP = | ||
| - | <sxh sql> | ||
| - | DROP SCHEMA|DOMAIN|TABLE|VIEW|INDEX|TRIGGER 이름 [CASCADE|RESTRICT CONSTRAINT]; | ||
| - | --RESTRICT : 다른 개체가 제거할 개체를 참조중인 경우 제거 취소, SQL Server에서는 CASCADE 옵션 없음! | ||
| - | |||
| - | DROP CONSTRAINT 제약조건명 | ||
| - | </ | ||
| - | |||
| - | = TRUNCATE TABLE = | ||
| - | <sxh sql> | ||
| - | TRUNCATE TABLE 테이블명; | ||
| - | </ | ||
| - | |||
| - | = RENAME TABLE = | ||
| - | <sxh sql> | ||
| - | RENAME 테이블명 TO 새테이블명; | ||
| - | -- sp_rename 테이블명, | ||
| - | </ | ||