삭제하기 - DELETE

유석현(SeokHyun Yu)·2022년 8월 10일
0

SQL

목록 보기
17/45
post-thumbnail

서론

데이터베이스는 하드디스크와 같은 저장장치에 데이터를 저장해 관리한다.

하지만 저장장치에는 저장용량이 정해져 있는 만큼 데이터를 무제한으로 저장할 수 없다.

그러다 보면 저장공간이 모자라 데이터를 삭제해야 하는 경우도 자주 발생한다.

실제로 시스템에서 '삭제''취소' 버튼을 이용해 데이터를 삭제해본 경험이 있을 것이다.

이때 사용하는 DELETE 명령에 관해 설명하겠다.


1. DELETE로 행 삭제하기

RDBMS에서 데이터를 삭제할 경우에는 행 단위DELETE 명령을 수행한다.

그럼 지금부터 테이블에서 행을 삭제하는 DELETE 명령의 사용 방법에 대해 알아보겠다.

하지만 그전에 기존 테이블에 어떤 데이터가 저장되어 있는지 SELECT 명령을 통해 확인해보자.

여기서 'DELETE FROM sample_table;'처럼 WHERE 구를 생략하고 DELETE 명령을 실행할 수 있는데, 이 경우 sample_table의 모든 행을 대상으로 동작하기 때문에 테이블의 데이터가 모두 삭제된다.

한편 WHERE 구를 지정한 경우에는 해당 조건식에 맞는 행만 삭제된다.

그럼 WHERE 구에 조건을 지정하여 id3인 행을 삭제해보자.

DELETE FROM sample_table WHERE id=3;

실행 결과, id가 3인 행이 삭제된 것을 확인할 수 있다.

이처럼 삭제는 행 단위로 수행된다.


2. DELETE 명령 구

WHERE 구에서 대상이 되는 행을 검색하는 것은 SELECT 명령에서도 DELETE 명령에서도 똑같다.

단지 SELECT 명령에서는 조건에 맞는 행의 결괏값이 클라이언트로 반환되지만, DELETE 명령에서는 조건에 맞는 행이 삭제된다는 점만 다르다.

따라서 DELETE 명령에서도 SELECT 명령처럼 WHERE 구에 다양한 조건을 지정할 수 있다.

그럼 이를 이용해 남아있는 행을 삭제해보자.

DELETE FROM sample_table WHERE id=1 OR id=2;

id가 12인 행이 잘 삭제된 것을 볼 수 있다.

profile
Backend Engineer

0개의 댓글