반응형

DB에서 데이터를 제거할 때 사용하는 것은 주로 DELETE, TRUNCATE, DROP 세 개의 명령어를 사용한다.

 

우선 사용 방법에 대해서 먼저 알아보자면, 아래와 같다.

 

DELETE

 

DELETE TABLE [테이블명] WHERE [컬럼명] = [컬럼]

 

TRUNCATE

 

TRUNCATE TABLE [테이블명]

 

DROP

 

DROP TABLE [테이블명]

 

사용 방법은 매우 간단한 편이고 모두 데이터 삭제를 위한 명령어지만 각각 차이점이 존재한다.

 

DELETE

데이터는 지워지지만 테이블 용량이 줄어들지 않는다.

조건 식을 통해 원하는 데이터만 삭제가 가능하다.

COMMIT 명령어를 사용하기 전이라면, ROLLBACK을 통해 데이터 복구가 가능하다.

내부적으로 한 줄씩 제거하기 때문에, 처리 속도가 상대적으로 느리다.

삭제 행수를 반환한다.

 

TRUNCATE

용량이 줄어들고, 인덱스 등도 삭제된다.

테이블은 삭제되지 않고 데이터만 삭제된다.

조건 식이 불가능하며, 데이터 전체를 삭제한다.

자동 COMMIT이 되는 명령어이기 때문에, 데이터 복구가 불가능하다.

삭제 행수를 반환하지 않는다.

 

DROP

테이블 자체를 제거한다.

자동 COMMIT이 되는 명령어이기 떄문에, 데이터 복구가 불가능하다.

 

위와 같은 차이 때문에, 각 명령어는 상황에 맞는 활용이 필요하며 운영 서버에서 사용 시 각별한 주의를 요구한다.

반응형

'데이터베이스 > Mysql' 카테고리의 다른 글

Auto Increment 설정 및 값 초기화  (0) 2021.05.18

+ Recent posts