데이터베이스는 하드디스크와 같은 저장장치에 데이터를 저장해 관리합니다.
하지만 저장장치에는 저장용량이 정해져있기 때문에 데이터를 무제한으로 저장할 수는 없습니다.
결국 데이터를 저장하다보면 저장공간이 모자라게 될 수 있고 데이터를 삭제하는 경우도 발생합니다.
이때 DELETE 명령을 사용하여 데이터를 삭제할 수 있습니다.
DELETE로 행 삭제하기
테이블에서 행을 삭제하기 위해서는 DELETE 명령을 사용해야 합니다.
DELETE 명령은 다음과 같이 작성합니다.
DELETE FROM 테이블명 WHERE 조건식
여기서 WHERE로 조건식을 주지않고 DELETE FROM 테이블명만 적을 경우 테이블안에 데이터가 전부 삭제됩니다.
다음은 테이블 행 삭제 예시입니다.
DELETE FROM sample WHERE id=4;
DELETE로 id 4번을 지정해서 다음과 같이 id가 4번인 데이터가 지워진 것을 볼 수 있습니다.
DELETE 명령어를 사용할때 실제로 지울것인지 물어보는 재확인 절차가 없으므로 사용에 주의해야 합니다.
DELETE 명령 구
WHERE 구에서 대상이 되는 행을 검색하는 것은 SELECT 명령에서도 DELETE 명령에서도 똑같습니다.
단지 SELECT 명령에서는 조건에 맞는 행이 결괏값이 클라이언트로 반환되지만, DELETE 명령에서는 조건에 맞는 행이 삭제된다는 점만 다릅니다.
앞선 예에서는 WHERE id = 4로 조건을 지정하여 id열이 4인 행을 삭제했지만 조건식을 변경하면 다른 id를 가진 행도 삭제할 수 있습니다.
예를들어, WHERE no = 1 OR no = 2로 바꾸면 no열이 1이나 2인 행을 삭제할 수 있습니다.
이처럼 DELETE 명령에서도 SELECT 명령 처럼 WHERE 구를 지정할 수 있습니다.
하지만 ORDER BY구는 사용할 수 없습니다.
어떤 행부터 삭제할 것인지는 중요하지 않으며 의미가 없기 때문입니다.
정리
- DELETE 명령을 통해 행을 삭제할 수 있습니다.
- DELETE 명령 사용시 WHERE 조건식을 통해 특정 행만 삭제할 수 있습니다.
- 삭제 순서는 의미가 없기 때문에 ORDER BY구는 사용할 수 없습니다.
'CS > DataBase' 카테고리의 다른 글
데이터베이스 첫걸음 정리 - 19장. 물리삭제와 논리삭제 (0) | 2022.09.11 |
---|---|
데이터베이스 첫걸음 정리 - 18장. 데이터 갱신하기 - UPDATE (0) | 2022.09.10 |
데이터베이스 첫걸음 정리 - 16장. 행 추가하기 INSERT (0) | 2022.09.08 |
데이터베이스 첫걸음 정리 - 15장. CASE 문으로 데이터 변환하기 (0) | 2022.09.06 |
데이터베이스 첫걸음 정리 - 14장. 날짜 연산 (0) | 2022.09.05 |