데이터 갱신
데이터 갱신 (Updates)
이미 들어 있는 행(row)의 값을 바꿔야 할 때가 있죠. 그럴 때는 UPDATE 명령을 사용해요. 지금부터 입력된 기온 데이터에 문제가 생겼다고 상상해 볼게요 — 11월 28일 이후의 모든 기온 측정값이 2도씩 높게 기록되어 있다고 해봐요.
조건에 맞는 행의 값 수정하기
이 잘못 기록된 데이터를 바로잡으려면 다음과 같이 하면 돼요.
UPDATE weather
SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2
WHERE date > '1994-11-28';
SET 절에서 수정할 컬럼과 새 값을 지정하고, WHERE 절에서 어느 행을 고칠지 골라요. 여기서는 1994-11-28 이후의 날짜를 가진 모든 행의 최고·최저 기온을 각각 2도씩 빼 주는 거예요.
수정된 데이터의 새 상태를 확인해 볼게요.
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
Hayward | 35 | 52 | | 1994-11-29
(3 rows)
1994-11-27(27일) 행은 WHERE date > '1994-11-28' 조건에 걸리지 않아서 그대로 남아 있고, 그 이후 날짜인 두 행만 값이 바뀐 걸 확인할 수 있어요.
주의할 점
UPDATE에서 WHERE 조건을 빼먹으면 테이블의 모든 행이 한꺼번에 수정되니 항상 조심해야 해요. 어떤 행을 고칠지 항상 신중하게 조건을 지정하세요.
더 알아보기 (Learn more)
- 2.7. 집계 함수 (Aggregate Functions) — 이전 단계
- 2.9. 데이터 삭제 (Deletions) — 다음 단계
- UPDATE (SQL 명령) — 공식 명령 레퍼런스
- Chapter 2. The SQL Language — 이 장 전체 목차