Oracle - DDL

(DB) Oracle/SQL 2017. 1. 18. 22:41

                               [ SQL- DDL 문장 ]


☞ DML 종류

 

1. CREATE TABLE : 새로운 데이블을 생성
2. DROP TABLE : 기존 테이블의 구조 및 모든 행을 삭제 
3. ALTER TABLE : 기존 테이블을 변경 - 컬럼의 추가,수정,삭제, 제약조건 추가,삭제,활성화,비활성화
4. TRUNCATE : 기존 테이블의 구조는 남기고 모든 행을 삭제
5. RENAME : object의 이름을 바꿈
6. COMMENT : 테이블이나 컬럼에 주석문 달기

※ 이러한 명령어는 모두 데이터 정의 명령어(DDL)로서 실행 시 자돈 COMMIT되고 ROLLBACK 될 수
   없으므로 주의해서 실행

 

 

☞ DROP TABLE

 

형식 : DROP TABLE 테이블명 [CASCADE CONSTRAINTS] ;
            - CASCADE CONSTRAINTS 옵션은 종속된 제약조건을 삭제

 

☞ ALTER TABLE

 

(1) 칼럼에 대한 변경
ㅇ 칼럼의 추가 : ALTER TABLE 테이블명 ADD (컬럼 datatype [DEFAULT 형식][CONSTRAINT 정의]
                                                                  [,컬럼 datatype]...);
ㅇ 칼럼의 수정 : 기존에 존재하는 컬럼의 크기와 데이터 타입의 변경
               : ALTER TABLE 테이블명 MODIFY(컬럼 datatype [DEFAULT 형식]
                                                   [NOT NULL 제약조건][,컬럼datatype]...);
ㅇ 칼럼의 삭제 : ALTER TABLE 테이블명 CROP COLUMN 컬럼
※ 한번에 하나씩, PK 칼럼을 삭제할 경우 CASCADE CONSTRAINTS 옵션을 사용할 것

ㅇ 사용불가 상태로 전환 : ALTER TABLE 테이블명 SET UNUSED [ COLUMN ] 칼럼 ;
    -  SET UNUSED 상태의 칼럼 제거 : ALTER TABLE 테이블명 DROP UNUSED COLUMNS ;
                                   : DROP의 시간 소요를 단축할 수 있음.

(2) Constraint에 대한 변경
ㅇ 제약조건의 추가 : ALTER TABLE 테이블명 ADD [CONSTRAINT 제약 조건명] 제약조건유형 (칼럼명);
   ※ NOT NULL 제약조건은 테이블 레벨 제약조건으로 기술 불가, MODIFY절 활용
ㅇ 제약조건의 삭제 : ALTER TABLE 테이블명 DROP CONSTRAINT 제약 조건명 [CASCADE] ;
ㅇ 제약조건의 활성화{비활성화} : ALTER TABLE 테이블명 ENABLE{DISABLE} CONSTRAINT 제약 조건명;
ㅇ CASCADE 옵션 : 참조하는 CHILD까지도 같이 수정 및 삭제시 활용
ㅇ NOVALIDATE CONSTRAINT 옵션 : 기존에 입력된 데이터에 대해서는 제약 조건을 Check하지 않고
                                향후 수정 혹은 새로 입력되는 데이터에 대해서만 제약 조건을
                                Check하여 수행력 향상
                              : ALTER TABLE 테이블명 ENABLE NOVALIDATE CONSTRAINT 제약 조건명;


☞ TRUNCATE

 

TRUNCATE TABLE 테이블명 ;


☞ RENAME

 

RENAME 이전이름 TO 새로운 이름



☞ COMMENT

 

ㅇ 테이블이나 칼럼에 주석문 달기
    - 테이블에 달기 : COMMENT ON TABLE 테이블명 IS '주석문장' ;
    - 칼럼에 달기   : COMMENT ON TABLE 테이블명.칼럼명 IS '주석문장' ;


 

 

'(DB) Oracle > SQL' 카테고리의 다른 글

Oracle - JOIN 개념  (0) 2017.01.18
Oracle - PLAN_INDEX  (0) 2017.01.18
Oracle - HINT2  (0) 2017.01.18
Oracle - HINT  (0) 2017.01.18
Oracle - SQL개념  (0) 2017.01.18
Posted by 농부지기
,