데이터베이스

데이터조작어 DML - DELETE

야생늑대 2022. 4. 18. 16:30
반응형

테이블에 있는 데이터를 삭제할 때 사용한다.

 

▶ DELETE문의 기본형식

DELETE FROM 테이블 이름
WHERE 삭제할 대상 행을 선별하기 위한 조건식;

DELETE문도 UPDATE문처럼 삭제 대상이 될 데이터를 선정하기 위해 WHERE절 및 조건식을 지정할 수 있다.

지정하지 테이블의 데이터가 모두 삭제된다.

 

데이터 일부분만 삭제하기

서브쿼리를 사용하여 데이터 삭제하기

DELETE문에서도 WHERE절에 서브쿼리를 사용하는 것이 가능하다.

ex) 급여등급이 3등급, 즉 급여가 1401~2000 사이에 있는 30번 부서의 사원들만 삭제하기

▶ 급여 등급이 3등급이면서 30번 부서인 사원들이 삭제되었다


☆★

  • UPDATE문과 DELETE문은 테이블에 이미 존재하는 데이터를 수정하거나 삭제하는 기능을 수행하므로 SELECT문이나 INSERT문에 비해 위험성이 큰 명령어다.
  • 예를 들어 사용자가 적립해 놓은 마일리지나 포인트 또는 계좌 잔액이나 개인 정보 같은 민감한 데이터가 있는 테이블에 잘못된 DELETE문을 실행한다면 큰 문제가 발생한다.
  • 실제로 실무에서도 DELETE문에 사용하는 WHERE조건식이 정확한 데이터를 대상으로 하는지 꼼꼼히 따져보지 않고 수행한 후 애를 먹는 상황이 종종 발생한다.
  • 이런 상황을 방지하기위해 UPDATE문이나 DELETE문은 실행하기 전에 WHERE절을 SELECT문을 통해 검증하는 작업이 반드시 필요하다.(변경해야 하는 행만 정확하게 선정해서 수정하는지 확인) ★☆
반응형

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

세션과 읽기 일관성의 의미, LOCK  (0) 2022.04.18
트랜잭션 제어 ROLLBACK, COMMIT  (0) 2022.04.18
데이터조작어 DML - UPDATE  (0) 2022.04.18
데이터조작어 DML - INSERT  (0) 2022.04.18
서브쿼리 subquery  (0) 2022.04.17