메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(새 문서: # 오라클 DROP TABLE 문 == 개요 == '''DROP TABLE'''은 오라클 데이터베이스에서 테이블과 그 테이블에 포함된 모든 데이터를 완전히 삭제하는 DDL(Data Definition Language) 명령어입니다. 테이블 구조와 데이터를 영구적으로 제거할 때 사용합니다. == 기본 구문 == ```sql DROP TABLE [schema.]table_name [CASCADE CONSTRAINTS] [PURGE]; ``` == 옵션 설명 == === CASCADE CONSTRAINTS === * 삭제할 테이블을 참...)
 
편집 요약 없음
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
1번째 줄: 1번째 줄:
# 오라클 DROP TABLE 문


== 개요 ==
== 개요 ==
5번째 줄: 4번째 줄:


== 기본 구문 ==
== 기본 구문 ==
```sql
<source lang=sql>
DROP TABLE [schema.]table_name [CASCADE CONSTRAINTS] [PURGE];
DROP TABLE [schema.]table_name [CASCADE CONSTRAINTS] [PURGE];
```
</source>


== 옵션 설명 ==
== 옵션 설명 ==
22번째 줄: 21번째 줄:


=== 기본 삭제 ===
=== 기본 삭제 ===
```sql
<source lang=sql>
DROP TABLE employees;
DROP TABLE employees;
```
</source>


=== 스키마 지정 삭제 ===
=== 스키마 지정 삭제 ===
```sql
<source lang=sql>
DROP TABLE hr.employees;
DROP TABLE hr.employees;
```
</source>


=== 제약조건 함께 삭제 ===
=== 제약조건 함께 삭제 ===
```sql
<source lang=sql>
DROP TABLE departments CASCADE CONSTRAINTS;
DROP TABLE departments CASCADE CONSTRAINTS;
```
</source>


=== 완전 삭제 (휴지통 안 거침) ===
=== 완전 삭제 (휴지통 안 거침) ===
```sql
<source lang=sql>
DROP TABLE temp_data PURGE;
DROP TABLE temp_data PURGE;
```
</source>


== 휴지통(Recyclebin) 관련 ==
== 휴지통(Recyclebin) 관련 ==
48번째 줄: 47번째 줄:


=== 휴지통 비우기 ===
=== 휴지통 비우기 ===
```sql
<source lang=sql>
-- 특정 테이블 휴지통 비우기
-- 특정 테이블 휴지통 비우기
PURGE TABLE employees;
PURGE TABLE employees;
54번째 줄: 53번째 줄:
-- 전체 휴지통 비우기
-- 전체 휴지통 비우기
PURGE RECYCLEBIN;
PURGE RECYCLEBIN;
```
</source>


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



2025년 5월 27일 (화) 00:16 기준 최신판

개요

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
**테이블 구조** 완전 삭제 유지
**저장 공간** 할당 해제 초기화만
**롤백 가능** 휴지통 사용 시만 불가능
**속도** 상대적으로 느림 매우 빠름
**트리거** 작동 안함 작동 안함

관련 항목