UPDATE란?
UPDATE는 테이블에 저장된 기존 데이터를 수정할 때 사용하는 DML 문이다. 잘못 사용하면 대량 데이터가 한 번에 변경될 수 있기 때문에 SELECT보다 훨씬 더 주의가 필요한 문법이다.
1. UPDATE 기본 개념
- 테이블에 이미 존재하는 데이터를 수정
- SET 절에서 변경할 컬럼과 값을 지정
- WHERE 절이 없으면 모든 행이 변경됨 (매우 위험)
UPDATE 테이블명
SET 컬럼명 = 값;
※ 예제용 테이블 EMP
| EMPNO | ENAME | DEPTNO | SAL | JOB |
| 1001 | KIM | 10 | 3000 | CLERK |
| 1002 | LEE | 20 | 4000 | MANAGER |
| 1003 | PARK | 10 | 2000 | CLERK |
| 1004 | CHOI | 30 | 3500 | ANALYST |
2. 특정 컬럼 값 수정 (기본 UPDATE)
※ 급여(SAL) 수정
UPDATE EMP
SET SAL = 3500
WHERE EMPNO = 1001;
◆ 실행 결과 → WHERE로 수정 대상 명확히 지정
| EMPNO | ENAME | DEPTNO | SAL | JOB |
| 1001 | KIM | 10 | 3500 | CLERK |
3. WHERE 절 없는 UPDATE (매우 위험★)
- 모든 직원의 급여가 3000으로 변경됨
- 실무에서 가장 많이 발생하는 사고
UPDATE EMP
SET SAL = 3000;
4. 여러 컬럼 동시에 수정하기
UPDATE EMP
SET SAL = 3000
, JOB = 'SENIOR'
WHERE EMPNO = 1002;
5. NULL 값으로 수정하기
UPDATE EMP
SET JOB = NULL
WHERE EMPNO = 1004;
6. 서브 쿼리를 이용한 UPDATE
UPDATE EMP
SET SAL = (
SELECT AVG(SAL)
FROM EMP
)
WHERE DEPTNO = 30;
※ 잘못된 예 (다중 행 반환)
UPDATE EMP
SET SAL = (
SELECT SAL
FROM EMP
WHERE DEPTNO = 10
);
7. UPDATE 실행 순서
- WHERE 조건 검색
- 대상 행 결정
- SET 값 적용
- 변경 완료.
8. COMMIT / ROLLBACK 개념 필수
COMMIT; -- 변경 확정
ROLLBACK; -- 변경 취소
마무리
UPDATE 문은 데이터베이스에서 기존 데이터를 직접 변경하는 매우 강력한 문법이다. 그만큼 편리하지만 작은 실수 하나로 대량 데이터가 한 번에 변경될 수 있는 위험성도 함께 가지고 있다. 예제와 같이 WHERE 절을 사용해서 수정 대상을 명확히 하자. WHERE절을 사용하지 않을 경우도 있지만 혹시 모를 상황에 대비해 SELECT(확인하는 습관)로 검색을 한 뒤에 UPDATE를 하도록 하자. 다음 글로는 DELETE 문법과 MERGE 문에 대해 작성해 보려 합니다. 감사합니다. (_ _)
'오라클' 카테고리의 다른 글
| [오라클] INSERT 문법 완벽 정리 (예제+주의 사항) (0) | 2026.01.03 |
|---|---|
| [오라클] DELETE 문법 완벽 정리 (예제 + 주의 사항) (0) | 2026.01.02 |
| [오라클] ORDER BY 정렬 문법 완벽 정리 (1) | 2025.12.31 |
| [오라클] WHERE 조건절 완벽 정리 (0) | 2025.12.30 |
| [오라클] SELECT 문법 완벽 정리 ( 기본부터 실무까지 ) (0) | 2025.12.29 |