반응형
테이블에 있는 데이터를 삭제할 때 사용한다.
▶ 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 |