반응형
테이블에 저장되어 있는 데이터 내용을 수정할 때 UPDATE문을 사용한다.
UPDATE문의 기본사용법
UPDATE 변경할 테이블
SET 변경할 열1 = 데이터, 변경할 열2 = 데이터, ... , 변경할 열 n = 데이터
WHERE 데이터를 변경할 대상행을 선별하기 위한 조건
--WHERE절을 생략할 경우 지정된 모든 열의 데이터가 변경된다.
데이터 전체수정하기
▶ 위 처럼 테이블에 저장되어 있는 모든 데이터의 특정 열 데이터를 일괄적으로 변경하는 경우는 흔치 않다.
대부분의 경우에 몇몇 행만 선정하여 데이터를 수정하는 방식을 사용한다.
데이터 일부분만 수정하기
서브쿼리를 사용하여 데이터 수정하기
여러 열을 한번에 수정하는 경우
열 하나하나를 수정하는 경우
열을 따로 나눠서 서브쿼리를 사용할
WHERE절에 서브쿼리를 사용하여 데이터 수정하는 경우
※ UPDATE문도 서브쿼리에 나열한 열과 변경할 열 개수나 자료형은 항상 일치해야 한다.
☆★
- UPDATE문과 DELETE문은 테이블에 이미 존재하는 데이터를 수정하거나 삭제하는 기능을 수행하므로 SELECT문이나 INSERT문에 비해 위험성이 큰 명령어다.
- 예를 들어 사용자가 적립해 놓은 마일리지나 포인트 또는 계좌 잔액이나 개인 정보 같은 민감한 데이터가 있는 테이블에 잘못된 UPDATE문을 실행한다면 큰 문제가 발생한다.
- 실제로 실무에서도 UPDATE에 사용하는 WHERE조건식이 정확한 데이터를 대상으로 하는지 꼼꼼히 따져보지 않고 수행한 후 애를 먹는 상황이 종종 발생한다.
- 이런 상황을 방지하기위해 UPDATE문이나 DELETE문은 실행하기 전에 WHERE절을 검증하는 작업이 반드시 필요하다.(변경해야 하는 행만 정확하게 선정해서 수정하는지 확인) ★☆
반응형
'데이터베이스' 카테고리의 다른 글
세션과 읽기 일관성의 의미, LOCK (0) | 2022.04.18 |
---|---|
트랜잭션 제어 ROLLBACK, COMMIT (0) | 2022.04.18 |
데이터조작어 DML - DELETE (0) | 2022.04.18 |
데이터조작어 DML - INSERT (0) | 2022.04.18 |
서브쿼리 subquery (0) | 2022.04.17 |