
데이터 수정(변경) UPDATE
데이터베이스에 저장된 데이터를 수정(변경)하려면 UPDATE문을 사용하시면 됩니다.
기본형식
UPDATE 변경할_테이블_명
SET 변경할_컬럼1 = 데이터, 변경할_컬럼2 = 데이터, ..., 변경할_컬럼n = 데이터
[ WHERE 데이터를_변경할_대상_행_선별하는_조건; ]
UPDATE문은 변경할 테이블을 지정한뒤 해당 테이블에서 변경할 컬럼과, 그 컬럼에 들어갈 값을 '=' 기호를 통해 매핑합니다. 이때 변경할 컬럼과 값은 여러개가 올 수 있습니다. 또한 WHERE절 생략할 수 있으며, 이를 이용하여 변경할 데이터를 선별하는 조건식을 지정할 수 있습니다.
컬럼 전체 데이터 수정
UPDATE DEPT_TEST
SET LOC = 'SEOUL';
해당 명령어는 DEPT_TEST 테이블의 LOC 컬럼의 값을 모두 'SEOUL'로 바꾸라는 명령어 입니다.

컬럼 일부 데이터 수정
WHERE절의 조건식을 이용하여 특정조건에 맞는 컬럼만 수정 할 수 있습니다.
UPDATE DEPT_TEST
SET DNAME = 'DATABASE', LOC = 'SEOUL'
WHERE DEPTNO = 40;
해당 예제는 DEPTNO가 40인 행의 DNAME 컬럼과, LOC 컬럼의 값을 각각 DATABASE와 SEOUL로 바꾸는 예제 입니다.

서브쿼리를 이용한 데이터 수정
UPDATE DEPT_TEST
SET DNAME = (SELECT DNAME
FROM DEPT
WHERE DEPTNO = 40),
LOC = (SELECT LOC
FROM DEPT
WHERE DEPTNO = 40)
WHERE DEPTNO = 40;
이번 예제는 DEPT 테이블에서 DEPTNO가 40번인 열의 DNAME, LOC를 가져다가 DEPT_TEST 테이블에 DEPTNO가 40번인 열의 DNAME, LOC에 업데이트(수정)하는 예제 입니다.

SELECT 문을 통해서 DEPTNO 가 40인 열의 DNAME와 LOC를 한꺼번에 조회해 볼 수 있습니다. 이를 이용해서, 업데이트를 조금 간단하게 만들어 볼까요?
UPDATE DEPT_TEST
SET(DNAME, LOC) = (SELECT DNAME, LOC
FROM DEPT
WHERE DEPTNO = 40)
WHERE DEPTNO = 40;

WHERE절에 서브 쿼리를 이용하여 데이터를 수정 할 수도 있습니다.

'DataBase' 카테고리의 다른 글
| 테이블에 날짜 데이터 입력하기 (0) | 2025.10.03 |
|---|---|
| 컬럼에 NULL 데이터 추가 (0) | 2025.10.02 |
| 테이블에 데이터 추가 INSERT 문 (0) | 2025.10.01 |
| 연산자 우선순의(Priority) (0) | 2025.10.01 |
| 테이블을 생성하는 CREATE 문 - 작성중 (0) | 2025.10.01 |