WeniVooks

검색

SQL 베이스캠프

UPDATE

UPDATE 문은 기존 테이블의 데이터를 수정할 때 사용하는 SQL 구문입니다. UPDATE를 사용하면 특정 조건에 맞는 데이터를 변경할 수 있습니다.

1. 기본 UPDATE 사용법

UPDATE 문은 테이블에서 특정 열의 값을 수정할 때 사용됩니다. 기본 구문은 다음과 같습니다.

UPDATE 테이블명
SET 열1 = 값1, 열2 = 값2, ...
WHERE 조건;
UPDATE 테이블명
SET 열1 = 값1, 열2 = 값2, ...
WHERE 조건;

다음 예시는 상품 테이블에서 상품ID가 1인 상품의 가격을 수정하는 구문입니다.

UPDATE 상품
SET 가격 = 1700000
WHERE 상품ID = 1;
-- SELECT * FROM 상품;
UPDATE 상품
SET 가격 = 1700000
WHERE 상품ID = 1;
-- SELECT * FROM 상품;
실습환경 바로가기

이 쿼리는 상품ID가 1인 상품의 가격을 1,700,000원으로 업데이트합니다. WHERE 절을 사용하지 않으면 테이블의 모든 행이 수정되므로 반드시 조건을 명시해야 합니다.

2. 여러 열 수정

UPDATE 문에서는 여러 열을 동시에 수정할 수 있습니다. 다음 예시는 상품ID가 2인 상품의 가격과 재고를 동시에 수정하는 구문입니다.

UPDATE 상품
SET 가격 = 50000, 재고 = 80
WHERE 상품ID = 2;
-- SELECT * FROM 상품;
UPDATE 상품
SET 가격 = 50000, 재고 = 80
WHERE 상품ID = 2;
-- SELECT * FROM 상품;
실습환경 바로가기

이 쿼리는 상품ID가 2인 상품의 가격을 50,000원으로, 재고를 80개로 수정합니다.

3. 조건 없이 UPDATE 사용 (주의)

WHERE 절을 생략하고 UPDATE 문을 실행하면 테이블의 모든 행이 수정됩니다. 예를 들어, 다음 쿼리는 상품 테이블의 모든 상품의 가격을 100,000원으로 변경합니다.

UPDATE 상품
SET 가격 = 100000;
-- SELECT * FROM 상품;
UPDATE 상품
SET 가격 = 100000;
-- SELECT * FROM 상품;
실습환경 바로가기

이 쿼리는 테이블 내의 모든 상품의 가격을 동일하게 설정하므로 매우 주의해야 합니다.

4. 하위 쿼리와 UPDATE

UPDATE 문에서 하위 쿼리를 사용하여 다른 테이블의 데이터를 기반으로 수정할 수도 있습니다. 다음 예시는 주문상세 테이블의 평균 가격보다 낮은 가격을 가진 상품들의 가격을 평균 가격으로 업데이트하는 예시입니다.

UPDATE 상품
SET 가격 = (SELECT AVG(단가) FROM 주문상세)
WHERE 가격 < (SELECT AVG(단가) FROM 주문상세);
-- SELECT * FROM 상품;
UPDATE 상품
SET 가격 = (SELECT AVG(단가) FROM 주문상세)
WHERE 가격 < (SELECT AVG(단가) FROM 주문상세);
-- SELECT * FROM 상품;
실습환경 바로가기

이 쿼리는 주문상세 테이블의 평균 단가보다 낮은 가격을 가진 상품들의 가격을 평균 단가로 수정합니다.

UPDATE 문을 사용할 때는 항상 WHERE 절을 신중히 사용해야 하며, 조건을 명확히 지정하지 않으면 모든 데이터를 수정할 위험이 있습니다.

2.13 INSERT2.15 DELETE