UPDATE 명령은 기존 테이블의 데이터를 수정할 때 사용돼요.
📘 기본 문법
✅ 1. UPDATE 기본 구조
UPDATE 테이블명
SET 컬럼1 = 값1,
컬럼2 = 값2,
...
WHERE 조건;
구성 요소 설명
| 테이블명 | 데이터를 수정할 대상 테이블 |
| SET | 어떤 컬럼을 어떤 값으로 바꿀 것인지 지정 |
| WHERE | 수정할 대상 행(row)을 선택 (이거 없으면 전체가 수정됨!) |
UPDATE MEMBER
SET MEM_MILEAGE = 5000
WHERE MEM_ID = 'A101';
- MEM_ID가 'A101'인 회원의 마일리지를 5000으로 변경
✅ 예제 2: 조건에 따라 여러 행 수정
UPDATE MEMBER
SET MEM_MILEAGE = MEM_MILEAGE + 1000
WHERE MEM_GRADE = 'VIP';
- VIP 등급 회원의 마일리지를 1000점씩 증가
⚠️ 주의할 점 ⚠️
- WHERE 절을 빼먹으면 전부 바뀜!! 실수 방지용으로 SELECT로 먼저 조건 확인
UPDATE MEMBER
SET MEM_MILEAGE = 0;
→ 모든 회원의 마일리지가 0이 됨 😨
2. 실수 방지용으로 SELECT로 먼저 조건 확인
SELECT * FROM MEMBER WHERE MEM_GRADE = 'VIP';
3.롤백 가능 여부
- COMMIT 전에 실행했다면 ROLLBACK으로 되돌릴 수 있어요.
ROLLBACK;
💡 참고: 서브쿼리를 이용한 UPDATE 예시
UPDATE MEMBER
SET MEM_MILEAGE = (
SELECT AVG(MEM_MILEAGE)
FROM MEMBER
)
WHERE MEM_GRADE = '일반';
- 일반 회원의 마일리지를 전체 평균으로 맞추는 예제
✅ 실무에서 많이 쓰는 패턴
➤ 다른 테이블 참조해서 업데이트
UPDATE MEMBER M
SET MEM_MILEAGE = (
SELECT MAX(MEM_MILEAGE)
FROM MEMBER
WHERE MEM_GRADE = 'VIP'
)
WHERE M.MEM_ID = 'A101';
→ VIP 중 최고 마일리지를 A101 회원에게 적용
'대덕인재 > Oracle' 카테고리의 다른 글
| [Oracle D-6] 연산자 (0) | 2025.04.08 |
|---|---|
| [Oracle D-6] SELECT문 (0) | 2025.04.08 |
| [Oracle D-5] break lable 바깥쪽 반복문 (0) | 2025.04.07 |
| [Oracle D-4] 테이블 수정 ALTER 문 (0) | 2025.04.04 |
| [Oracle D-4] 이진 데이터 타입(Binary Data Types) (0) | 2025.04.04 |