Loading...
MySQL 9.5 Reference Manual 9.5의 15.1.37 DROP TABLE Statement의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
1DROP [TEMPORARY] TABLE [IF EXISTS] 2 tbl_name [, tbl_name] ... 3 [RESTRICT | CASCADE]
DROP TABLE은 하나 이상의
table을 제거합니다. 각 table에 대해 DROP
privilege를 가지고 있어야 합니다.
이 statement를 사용할 때는 주의 하십시오! 각 table에 대해, table 정의와 모든 table 데이터를 제거합니다. 만약 table이 파티션된 경우, 이 statement는 table 정의, 해당 table의 모든 파티션, 그 파티션들에 저장된 모든 데이터, 그리고 drop된 table과 연관된 모든 파티션 정의를 제거합니다.
table을 drop하면 그 table에 대한 trigger도 함께 drop됩니다.
DROP TABLE은
TEMPORARY 키워드와 함께 사용되는 경우를 제외하고
암시적 커밋을 발생시킵니다. Section 15.3.3, “Statements That Cause an Implicit Commit”을
참조하십시오.
주의
table이 drop될 때, 해당 table에 대해 명시적으로 부여된 privilege는 자동으로 drop되지 않습니다. 수동으로 drop해야 합니다. Section 15.7.1.6, “GRANT Statement”를 참조하십시오.
argument list에 명시된 table 중 일부가 존재하지 않을 경우,
DROP TABLE의 동작은
IF EXISTS 절이 지정되었는지 여부에 따라 달라집니다:
IF EXISTS 없이 사용하면, 존재하지 않는 table을
drop할 수 없었다는 에러와 함께 statement가 실패하며,
어떠한 변경도 발생하지 않습니다.
IF EXISTS와 함께 사용하면, 존재하지 않는 table에 대해서는
에러가 발생하지 않습니다. statement는 존재하는 모든
명시된 table을 drop하고, 존재하지 않는 각 table에 대해
NOTE 진단 정보를 생성합니다. 이 note는
SHOW WARNINGS로 확인할 수 있습니다.
Section 15.7.7.43, “SHOW WARNINGS Statement”를
참조하십시오.
IF EXISTS는 데이터 딕셔너리에는 엔트리가 남아 있으나
스토리지 엔진이 관리하는 table은 존재하지 않는
비정상적인 상황에서 table을 drop하는 데도 유용합니다.
(예를 들어, 스토리지 엔진에서 table이 제거된 후
데이터 딕셔너리 엔트리가 제거되기 전에 서버가 비정상 종료된
경우 등입니다.)
TEMPORARY 키워드는 다음과 같은
효과를 가집니다:
이 statement는 TEMPORARY table만 drop합니다.
이 statement는 암시적 커밋을 발생시키지 않습니다.
액세스 권한을 검사하지 않습니다. TEMPORARY
table은 이를 생성한 세션에서만 볼 수 있으므로
별도의 체크가 필요하지 않습니다.
TEMPORARY 키워드를 포함하는 것은
실수로 non-TEMPORARY table을 drop하는 것을
방지하는 좋은 방법입니다.
RESTRICT와 CASCADE
키워드는 아무 동작도 수행하지 않습니다. 이는 다른 데이터베이스 시스템에서의
포팅을 쉽게 하기 위해 허용됩니다.
DROP TABLE은 모든
innodb_force_recovery
설정에서 지원되지 않습니다. Section 17.20.3, “Forcing InnoDB Recovery”를
참조하십시오.
15.1.36 DROP SPATIAL REFERENCE SYSTEM Statement
15.1.38 DROP TABLESPACE Statement