메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

개요

DROP TABLE은 오라클 데이터베이스에서 테이블과 그 테이블에 포함된 모든 데이터를 완전히 삭제하는 DDL(Data Definition Language) 명령어입니다. 테이블 구조와 데이터를 영구적으로 제거할 때 사용합니다.

기본 구문

DROP TABLE [schema.]table_name [CASCADE CONSTRAINTS] [PURGE];

옵션 설명

CASCADE CONSTRAINTS

  • 삭제할 테이블을 참조하는 다른 테이블의 **외래 키 제약조건을 함께 삭제**
  • 이 옵션을 사용하지 않으면 참조하는 제약조건이 있을 경우 오류 발생

PURGE

  • 휴지통(Recyclebin)을 거치지 않고 **즉시 완전히 삭제**
  • 10g 버전부터 도입된 휴지통 기능을 우회

사용 예제

기본 삭제

DROP TABLE employees;

스키마 지정 삭제

DROP TABLE hr.employees;

제약조건 함께 삭제

DROP TABLE departments CASCADE CONSTRAINTS;

완전 삭제 (휴지통 안 거침)

DROP TABLE temp_data PURGE;

휴지통(Recyclebin) 관련

  • 오라클 10g부터 휴지통 기능 도입
  • PURGE 옵션 없이 삭제하면 휴지통으로 이동
  • 복원 가능: `FLASHBACK TABLE table_name TO BEFORE DROP`

휴지통 비우기

-- 특정 테이블 휴지통 비우기
PURGE TABLE employees;

-- 전체 휴지통 비우기
PURGE RECYCLEBIN;

주의사항

  • **운영 환경에서 신중히 사용**해야 하는 위험한 명령어
  • 삭제 전 반드시 **백업 확인** 필요
  • 대용량 테이블 삭제 시 시스템 부하 발생 가능
  • 삭제 후에는 **COMMIT 불필요** (DDL은 자동 커밋)
  • 종속된 객체(인덱스, 트리거, 시노님 등)도 함께 삭제됨

TRUNCATE와의 차이

비교 항목 DROP TABLE TRUNCATE TABLE
**테이블 구조** 완전 삭제 유지
**저장 공간** 할당 해제 초기화만
**롤백 가능** 휴지통 사용 시만 불가능
**속도** 상대적으로 느림 매우 빠름
**트리거** 작동 안함 작동 안함

관련 항목