DROP TABLE
DROP TABLE
DROP TABLE 페이지를 다룹니다.
출처: 문서
본문
drop-table-stmt:
DROP TABLE IF EXISTS schema-name . table-name
DROP TABLE 문은 CREATE TABLE 문으로 추가된 테이블을 제거해요. 지정된 이름은 테이블 이름이에요. 삭제된 테이블은 데이터베이스 스키마와 디스크 파일에서 완전히 제거돼요. 테이블은 복구할 수 없어요. 테이블과 연관된 모든 인덱스와 트리거도 함께 삭제돼요.
선택 사항인 IF EXISTS 절은 테이블이 존재하지 않을 때 일반적으로 발생하는 오류를 억제해요.
외래 키 제약 조건이 활성화되어 있으면, DROP TABLE 명령은 테이블을 데이터베이스 스키마에서 제거하기 전에 암시적 DELETE FROM 명령을 수행해요. 테이블에 연결된 모든 트리거는 암시적 DELETE FROM이 실행되기 전에 데이터베이스 스키마에서 제거되므로, 이로 인해 트리거가 실행되지는 않아요. 반면에, 암시적 DELETE FROM은 구성된 외래 키 동작을 실제로 발생시켜요. DROP TABLE 명령의 일부로 실행된 암시적 DELETE FROM이 즉시 외래 키 제약 조건을 위반하면, 오류가 반환되고 테이블은 삭제되지 않아요. 또한 암시적 DELETE FROM이 지연 외래 키 제약 조건을 위반하고, 트랜잭션이 커밋될 때 그 위반이 여전히 존재하면, 커밋 시점에 오류가 반환돼요.