DROP TABLE

DROP TABLE — 테이블 삭제

요약

DROP TABLE [ IF EXISTS ] 이름 [, ...] [ CASCADE | RESTRICT ]

설명

DROP TABLE 명령은 현재 데이터베이스에서 지정한 테이블을 삭제한다. 해당 테이블의 소유주이거나, 해당 스키마의 소유주이거나 슈퍼 유저만 테이블을 삭제 할 수 있다. 테이블은 그대로 두고 테이블의 자료를 삭제 하려고 할 때는 DELETE 명령이나, TRUNCATE 명령을 사용한다.

DROP TABLE 명령은 해당 테이블에 종속된 모든 인덱스, 룰, 트리거, 제약조건도 함께 삭제 한다. 반면, 삭제하려는 테이블이 다른 객체에서 사용되고 있는 경우라면, CASCADE 옵션을 사용해서 관련 모든 객체들을 함께 지우려고 할 때만 삭제 할 수 있다. (CASCADE 옵션을 쓰게 되면 해당 뷰는 삭제 될 것이고, 참조키 제약조건은 해당 제약조건만 삭제된다.)

매개 변수

IF EXISTS

해당 테이블이 없어도 오류를 내지 않고, 알림 메시지만 보여준다.

이름

삭제 하려는 (스키마 이름을 포함 할 수도 있는) 테이블 이름.

CASCADE

해당 테이블과 의존성 관계가 있는 모든 객체들도 함께 삭제한다. 물론, 삭제될 다른 객제와 관계된 또 다른 객체들도 함께 삭제 한다. (5.14절 참조).

RESTRICT

해당 테이블과 의존성 관계가 있는 객체가 있으면 작업을 중지한다. 이 옵션이 기본값이다.

예제

films 테이블과 distributors 테이블을 함께 지우려면:

DROP TABLE films, distributors;

호환성

표준 SQL 구문에서는 하나의 명령으로 하나의 테이블만 삭제 할 수 있으며, IF EXISTS 옵션은 PostgreSQL 확장 기능이다.

관련 항목

ALTER TABLE, CREATE TABLE