데이터 삭제

데이터 삭제 (Deletions)

테이블에서 행을 제거해야 할 때는 DELETE 명령을 사용해요. 더 이상 헤이워드(Hayward)의 날씨가 필요 없다고 가정해 볼게요. 그러면 그 도시의 행을 테이블에서 삭제하려면 다음과 같이 하면 돼요.

출처: PostgreSQL 공식 문서 — 2.9. Deletions

조건에 맞는 행 삭제하기

DELETE FROM weather WHERE city = 'Hayward';

이 명령을 실행하면 Hayward에 속한 모든 날씨 레코드가 삭제돼요. 정말로 삭제됐는지 확인해 볼까요?

SELECT * FROM weather;
     city      | temp_lo | temp_hi | prcp |    date
---------------+---------+---------+------+------------
 San Francisco |      46 |      50 | 0.25 | 1994-11-27
 San Francisco |      41 |      55 |    0 | 1994-11-29
(2 rows)

Hayward 행들이 사라지고 샌프란시스코 행만 남았네요.

경고: WHERE 없이 지우면 전부 사라져요!

다음과 같은 형태의 문장은 정말 조심해야 해요.

DELETE FROM tablename;

조건(qualification) 없이 실행하면 DELETE는 그 테이블의 모든 행을 제거해서 테이블을 비워버려요. 그리고 시스템은 이 작업 전에 아무런 확인을 요청하지 않아요! 실수로 전체 데이터를 날리는 일이 없도록, 항상 WHERE 절이 있는지 다시 한 번 확인하세요.

더 알아보기 (Learn more)