더북(TheBook)

10.3.1 단일 테이블 데이터 삭제하기

단일 테이블 DELETE 문은 하나의 테이블에서 조건에 맞는 데이터를 삭제하는 문장으로, 구문은 다음과 같습니다.

구문 10-7

DELETE FROM 테이블
 WHERE 조건
 ORDER BY ...
 LIMIT ... ;

단일 테이블에서 DELETE 구문은 INSERTUPDATE 문보다 간단한 편입니다. 테이블에 있는 데이터를 삭제한다는 것은 로우를 삭제한다는 의미이므로 INSERTUPDATE 문처럼 일일이 특정 칼럼을 명시할 필요가 없기 때문입니다.

구문을 보면 DELETE FROM 다음에 삭제할 테이블을 명시합니다. 그리고 필요에 따라 WHERE, ORDER BY, LIMIT 절을 추가합니다. WHERE 절을 생략하면 해당 테이블 데이터 전체가 삭제되고, WHERE 절에 조건을 기술하면 해당 조건을 만족하는 건만 삭제됩니다. 그리고 ORDER BY 절을 사용하면 명시한 칼럼 값 순서대로 삭제되고, LIMIT 절까지 추가하면 삭제되는 건수를 제한할 수 있습니다. 하지만 UPDATE 문과 마찬가지로 ORDER BY 절은 굳이 사용할 필요가 없습니다. 조건에 부합하는 데이터를 삭제하는 것이니 순서대로 삭제할 필요가 없기 때문이죠. 하지만 예외도 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.