데이터 삭제
데이터 삭제 (Deletions)
테이블에서 행을 제거해야 할 때는 DELETE 명령을 사용해요. 더 이상 헤이워드(Hayward)의 날씨가 필요 없다고 가정해 볼게요. 그러면 그 도시의 행을 테이블에서 삭제하려면 다음과 같이 하면 돼요.
조건에 맞는 행 삭제하기
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)
- 2.8. 데이터 갱신 (Updates) — 이전 단계
- Chapter 3. 고급 기능 (Advanced Features) — 다음 단계
- DELETE (SQL 명령) — 공식 명령 레퍼런스
- Chapter 2. The SQL Language — 이 장 전체 목차