본문 바로가기

BackEnd/DB(SQL)

[Oracle SQL] SQL 초보 탈출! 오라클 DELETE로 데이터 삭제하는 법

728x90

 

DELETE는 테이블에서 데이터를 삭제할 때 사용하는 문법이에요.

 

잘못 쓰면 데이터가 통째로 날아갈 수 있으니 꼭! 조심해서 사용해야 해요.

 


✅ 기본 문법

DELETE FROM 테이블명
WHERE 조건;
  • WHERE 조건을 만족하는 "행(row)"만 삭제됩니다.
  • WHERE를 생략하면 테이블 전체 데이터가 삭제되니 주의‼️

 


✅ 예제 1: 특정 조건에 해당하는 행 삭제

DELETE FROM employees
WHERE department_id = 50;
  • 부서번호가 50번인 직원들만 삭제됩니다.

 


✅ 예제 2: 전체 데이터 삭제 (주의!!)

DELETE FROM employees;
  • employees 테이블의 모든 데이터를 삭제합니다. (⚠️ 롤백 안 하면 영구 삭제)

💡 이 경우 TRUNCATE와의 차이도 중요합니다. (아래 참고)

 


✅ DELETE vs TRUNCATE 차이점

 

항목 DELETE TRUNCATE
조건 사용 가능 (WHERE 절) 불가능 (전체 삭제만 가능)
롤백 가능 ✅ 가능 ❌ 불가능 (즉시 반영)
트리거 호출 ✅ 호출 ❌ 호출 안됨
속도 느림 (한 줄씩 삭제) 빠름 (테이블 전체 초기화)

 


✅ 서브쿼리 활용 예

DELETE FROM employees
WHERE department_id IN (
  SELECT department_id
  FROM departments
  WHERE location_id = 1700
);
  • 위치가 1700번인 부서에 속한 직원들을 삭제하는 예제입니다.

 


✅ 자주 하는 실수

  • WHERE 없이 DELETE 쓰는 실수 (💥 전체 삭제됨)
  • 외래키 제약조건 때문에 삭제 안 되는 경우 (에러 발생)
  • 트랜잭션 커밋 안 해서 실제 반영 안 되는 경우

 


✅ 사용 팁

  • 항상 먼저 SELECT로 삭제 대상 확인
SELECT * FROM employees WHERE department_id = 50;

 

 

 → 문제없으면 그 다음 DELETE 실행!

 

 

  • 삭제 후 커밋 or 롤백 꼭 잊지 말기
COMMIT;  -- 영구 반영
ROLLBACK;  -- 취소

 

 


 

DELETE문은 항상 주의해야해요!

 

실수로 데이터를 삭제하게되면 다시 복구하기 어렵기 때문이에요

 

WHERE 조건을 잘 주어야 실수를 줄일 수 있으니,

꼭 확인하세요!!

 

[Oracle SQL] SQL 초보 탈출! 오라클 SELECT로 데이터 조회하는 법

 

[Oracle SQL] SQL 초보 탈출! 오라클 SELECT로 데이터 조회하는 법

SELECT 문은 오라클 SQL에서 데이터를 조회할 때 사용하는 가장 기본이자 핵심적인 문장이에요. 어떻게 사용하는지 한번 봅시다~ ✅ 기본 문법SELECT 컬럼1, 컬럼2, ...FROM 테이블명WHERE 조건ORDER BY 정

bobo12.tistory.com

 

[Oracle SQL] SQL 초보 탈출! 오라클 UPDATE로 데이터 수정하는 법

 

[Oracle SQL] SQL 초보 탈출! 오라클 UPDATE로 데이터 수정하는 법

오라클에서 테이블의 값을 수정하기 위해 사용하는 UPDATE 문! 어떻게 사용하는지 한번 봅시다~   ✅ 기본 문법 UPDATE 테이블명 SET 컬럼1 = 값1, 컬럼2 = 값2, ... WHERE 조건; ▶ SET 뒤에 수정할 컬럼

bobo12.tistory.com

 

[Oracle SQL] SQL 초보 탈출! 오라클 INSERT로 데이터 입력하는 법

 

[Oracle SQL] SQL 초보 탈출! 오라클 INSERT로 데이터 입력하는 법

오라클에서 테이블의 값을 입력하기 위해 사용하는 INSERT 문! 어떻게 사용하는지 한번 봅시다~  ✅ 기본 문법 (단일 행 삽입)INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)VALUES (값1, 값2, ...);컬럼 순서와

bobo12.tistory.com

 

 

728x90