13.1.28 DROP TABLE 구문
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name
[, tbl_name
] ... [RESTRICT | CASCADE]
DROP TABLE
은 하나 이상의 테이블을 삭제합니다. 각 테이블에 대한 DROP
권한이 필요합니다. 모든 테이블 데이터와 테이블 정의가 제거되기 때문에이 문에주의하십시오. 인수 목록에서 지정되는 하나의 테이블이 존재하지 않는 경우, MySQL은 삭제할 수없는 존재하지 않는 테이블을 이름으로 나타내는 오류를 반환하지만 목록에 존재하는 모든 테이블도 제거합니다 .
테이블이 삭제 되더라도 해당 테이블에 대한 사용자 권한이 자동으로 삭제되지 않습니다. 섹션 13.7.1.4 "GRANT 구문" 을 참조하십시오.
파티션 된 테이블의 경우, DROP TABLE
에 의해 테이블 정의 그 모든 파티션 및 그 파티션에 저장되어 있던 모든 데이터가 영구적으로 삭제되는 점에 유의하십시오. 또한 삭제 된 테이블에 연결된 분할 정의 ( .par
) 파일도 삭제됩니다.
존재하지 않는 테이블에 오류가 발생하지 않도록하려면 IF EXISTS
를 사용합니다. IF EXISTS
를 사용하는 경우는 존재하지 않는 테이블마다 NOTE
가 생성됩니다. 섹션 13.7.5.41 "SHOW WARNINGS 구문" 을 참조하십시오.
RESTRICT
과 CASCADE
는 이식을 용이하게하기 위해 허용되어 있습니다. MySQL 5.6에서는 이러한 아무것도하지 않습니다.
DROP TABLE
은 TEMPORARY
키워드가 사용되지 않는 한, 현재 활성 트랜잭션을 자동으로 커밋합니다.
TEMPORARY
키워드 다음의 효과가 있습니다.
이 문은
TEMPORARY
테이블 만 삭제합니다.이 문은 진행중인 트랜잭션을 종료하지 않습니다.
권한이 확인되지 않습니다. (
TEMPORARY
테이블은 그것을 생성 한 세션에만 표시되므로 확인이 필요하지 않습니다.)
TEMPORARY
의 사용은 TEMPORARY
테이블이 아닌 실수로 삭제 해 버리지 않도록하기위한 적절한 방법입니다.