[Oracle] DDL문법 - 2 (ALTER, DROP, TRUNCATE)

2021. 6. 14. 10:55DataBase

* ALTER

- TABLE 등의 객체를 수정하기 위해 사용하는 명령어

- COMMIT 사용불가


ALTER TABLE
- 컬럼 추가, 변경, 삭제
- 컬럼 이름변경
- 제약조건 추가, 변경, 삭제

ALTER TABLE 테이블명 ADD 컬럼명 타입 [제약조건] 
ALTER TABLE 테이블명 MODIFY 컬럼명 타입 [제약조건] 
ALTER TABLE 테이블명 DROP COLUMN 컬럼명

ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건이름] PRIMARY KEY (컬럼명) 
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건이름

 

예) NewBook 테이블에 VARCHAR2(13)의 자료형을 가진 isbn 속성을 추가하시오

ALTER TABLE newbook ADD isbn VARCHAR2(13);

예)NewBook 테이블의 bookid 속성에 NOT NULL 제약조건을 적용하시오

ALTER TABLE newbook MODIFY bookid NUMBER NOT NULL;

 

 


* DROP 

- TABLE 등의 객체를 삭제하기 위해 사용하는 명령어

- COMMIT 사용불가

DROP TABLE 테이블이름;

 


* TRUNCATE 

- 테이블의 전체데이터 삭제

-COMMIT 사용불가

- 롤백 불가

TRUNCATE TABLE 테이블명;

 

# DELETE vs TRUNCATE
- DELETE는 데이터만 삭제 되며 테이블 용량은 줄어 들지 않는다. 
- TRUNCATE는 테이블을 최초 생성된 초기상태로 만든다.
- DELETE는 롤백이 가능, TRUNCATE는 불가능하다.