본문 바로가기
Web Programing/DB

Oracle / DB 테이블의 데이터만 삭제하기 행 삭제 (DELTE, TRUNCATE)

by 기록하는 초보 2024. 3. 22.
반응형

데이터베이스 테이블에 데이터를 미리 넣어주고 작업하다가, 데이터를 지운 뒤 다시 데이터들을 저장하기 위해서 테이블의 데이터를 지워야 했습니다. 이번 글에서는 데이터베이스에서 테이블은 유지하면서 테이블의 데이터를 삭제하는 방법에 대해서 알아보겠습니다.

 

테이블의 데이터를 삭제하는 방법

  • DELETE 명령어 : 데이터를 조작하는 DML(Data Manipulation Language) 데이터 조작어에 해당하는 명령어로 데이터를 삭제할 때 사용됩니다. where 조건문을 이용해서 해당하는 행을 삭제합니다.
  • TRUNCATE 명령어 : 데이터를 정의하는 DDL(Data Definition Language) 대이터 정의어에 해당하는 명령어로 테이블과 같은 데이터의 구조를 정의하는데 사용됩니다. 테이블 내의 데이터의 모든 행을 삭제합니다.

DELETE 명령어 사용하기

  • 사용법 : DELETE FROM [테이블명] WHERE [조건];
  • 특징 : 조건에 맞는 데이터만 선택적으로 삭제할 수 있습니다. 조건을 생략하면 테이블의 모든 데이터가 삭제됩니다.
  • 장점 : 특정 조건에 맞는 데이터만 삭제할 수 있어 유연성이 높습니다.
  • 단점 : 대량의 데이터를 삭제할 때 성능이 저하될 수 있습니다.

TRUNCATE 명령어 사용하기

  • 사용법 : TRUNCATE TABLE [테이블명];
  • 특징 : 테이블의 모든 데이터를 빠르게 삭제하며, 삭제된 데이터는 복구할 수 없습니다.
  • 장점 : DELETE보다 훨씬 빠르게 작동하며, 테이블의 공간을 재사용할 수 있게 합니다.
  • 단점 : 조건부 삭제가 불가능하며, 삭제된 데이터의 복구가 어렵습니다.
반응형

테이블의 데이터를 삭제하기 예제

예제 테이블 "tableA"입니다.

\\예제 테이블 : tableA

하나의 행을 삭제하는 방법

DELETE FROM [테이블명] WHERE [컬럼명]=[조건데이터];

delete from tablaA 
where name = '유재석';

 

테이블의 모든 데이터를 삭제하는 방법

DELETE FROM [테이블명];

delete from tableA;

 

TRUNCATE TABLE [테이블명];

truncate table tableA;

 

데이터를 삭제할 때는 목적에 맞게 DELETE나 TRUNCATE 중 적절한 명령어를 선택해 사용하시길 바랍니다.

데이터를 조건부로 삭제하려면 DELETE를, 테이블의 모든 데이터를 빠르게 삭제하고 싶다면 TRUNCATE를 사용하는 것이 좋습니다.

데이터 삭제 작업은 신중하게 진행해야 하며, 중요한 데이터는 사전에 백업하는 것이 좋습니다.

반응형