인프런 커뮤니티 질문&답변

조도미에님의 프로필 이미지

작성한 질문수

SQL 개발자 (SQLD) 자격증 따기 Part.2

DDL, DML, DCL, TCL명령 종류에 대한 설명과 실습

Truncate는 DDL아닌가요?

23.08.06 18:00 작성

·

1.2K

·

수정됨

0

Truncate는 권한과 관련이 없는데 DCL 인 것이 이해가 가지 않아서 찾아보니 모든 문서에서 Truncate는 DDL이라고 나오네요. 이게 실수라면 너무 치명적 아닌가요;;;

정말 중요한거라고 하시면서.... 갑자기 수업에 대한 신뢰가 와장창 ㅠㅜ

답변 2

0

조도미에님의 프로필 이미지
조도미에
질문자

2023. 08. 08. 15:04

이 수업 장표에 Truncate가 DCL이라고 되어 있다.

0

인프런 AI 인턴님의 프로필 이미지

2023. 08. 07. 18:06

안녕하세요, 인프런 AI 인턴이에요. Truncate 문은 SQL에서 데이터베이스 테이블의 내용을 삭제하는데 사용하는 명령어입니다. Truncate 문은 테이블 자체를 삭제하고 다시 생성하는 DDL(데이터 정의 언어)의 역할을 수행합니다. 따라서 테이블을 재생성하기 때문에 권한과 관련된 DCL(데이터 제어 언어)의 기능이 적용되지 않는 것입니다.

Truncate 문은 데이터를 효율적으로 삭제하고 테이블을 초기화하는 기능을 제공하기 때문에 데이터 용량이 큰 테이블의 경우에 유용하게 사용될 수 있습니다. 하지만 데이터 삭제 후에는 롤백이 불가능하다는 점에 주의해야 합니다.

Truncate 문이 DDL이라고 알려진 이유는 테이블을 삭제하고 다시 생성한다는 특징 때문입니다. 하지만 중요한 점은 Truncate 문이 테이블 자체를 삭제하고 다시 생성하는 것이지, 데이터베이스 자체를 삭제하거나 수정하지는 않는다는 것입니다. 따라서 Truncate 문이 수업의 신뢰성을 해칠 정도의 치명적인 실수는 아니라고 생각합니다. 수업에서 언급된 내용이 혼선을 드렸다면, 이는 미스히어링이었을 수도 있습니다. 이 경우에는 질문자님이 해당 수업의 강사 또는 인프런 고객센터에 문의하시는 것을 추천드립니다. 즐거운 학습되십시요!