SQLD관리 구문DELETE TRUNCATE DROP난이도 2MCQ

SQLD DELETE TRUNCATE DROP 기출문제 #3782

문제

DELETE, TRUNCATE, DROP 명령어에 대한 설명으로 가장 적절하지 않은 것은?

① 특정 테이블에 대하여 WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 똑같은 결과를 얻을 수 있다. ② DROP 명령어는 테이블 정의 자체를 삭제하고, TRUNCATE 명령어는 테이블을 초기 상태로 만든다. ③ TRUNCATE 명령어는 UNDO를 위한 데이터를 적게 생성하므로 동일 데이터량 삭제 시 DELETE보다 빠를 수 있다. ④ DROP과 TRUNCATE는 일반적으로 Auto Commit되고, DELETE는 사용자 Commit으로 수행된다.

정답

1

해설

정답: 1. WHERE 없는 DELETE는 모든 행을 삭제하지만 테이블 구조는 남고, DROP TABLE은 테이블 정의 자체를 삭제하므로 결과가 같지 않다.

오답 풀이

  • 1번: DELETE와 DROP의 결과를 같다고 했으므로 틀렸다.
  • 2번: DROP과 TRUNCATE의 차이를 적절히 설명한다.
  • 3번: TRUNCATE는 대량 삭제 시 DELETE보다 빠른 경우가 많다.
  • 4번: DDL 성격의 DROP/TRUNCATE와 DML인 DELETE의 트랜잭션 처리 차이를 설명한다.

보충 개념 DELETE는 행 삭제, TRUNCATE는 테이블 데이터 초기화, DROP은 객체 삭제이다. 세 명령어는 롤백 가능성과 구조 유지 여부가 다르다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] DELETE TRUNCATE DROP 관리 구문 기출 #3782 | 문어CBT