* UPDATE 문장의 구성
테이블에 데이터를 수정하는 방법으로 SQL 문장에서는 UPDATE 문장을 이용한다.
UPDATE 절 | UPDATE [SCHEMA][TABLE | VIEW][@DBLINK][ALIAS] |
SET 절 | SET { (COLUMN [, COLUMN]...} = (SUBQUERY) | COLUMN = { EXPR | (SUBQUERY) } } [, { (COLUMN [, COLUMN]...) = (SUBQUERY) | COLUMN = { EXPR | (SUBQUERY) } } ] ... |
WHERE 절 | [WHERE CONDITION] |
(1) UPDATE 절
데이터를 수정해야 할 테이블이나 뷰를 지정한다. @DBLINK는 원격지에 있는 테이블이나 뷰를 사용할 때 데이터베이스 링크 이름을 기술한다.
(2) SET 절
수정해야 할 컬럼을 기술하고 수정해야 할 값을 지정한다. WHERE의 조건에 따라 단건이나 다건 모두 수정 가능하다.
(3) WHERE 절
대상이 되는 테이블에서 가져올 데이터에 대해 조건을 부여하여 데이터를 조회하는 경우에 기술한다. WHERE 절에는 서브쿼리를 작성하여 조건을 다양하게 만들 수 있다.
* UPDATE 문장 유형에 따른 예제
INSERT 문장 예에서 사용하였던 제품(ITEM) 테이블을 이용하여 데이터를 수정하기 위한 UPDATE 문장을 사용해보자.
(1) 조건에 따른 UPDATE
일정한 조건에 따라 테이블의 데이터를 수정한다.
[예제] 제품코드가 1001인 제품의 수량을 500개로 변경하라
UPDATE ITEM SET QTY = 500 WHERE ITEMCD = '1001'
- WHERE 조건절에 PK가 조건으로 들어오거나 조건이 걸린 값 중ㄷ에 유일한 값일 경우는 한 개의 로우만 데이터를 수정한다.
- WHERE 조건문을 생략하여 데이블의 모든 데이터를 한꺼번에 수정하지 않도록 주의한다.
(2) 테이블 전체 UPDATE
테이블 전체의 로우를 수정한다.
[예제] 모든 제품의 가격을 30%씩 할인하려고 한다. 제품 테이블에 있는 데이터를 수정한다.
UPDATE ITEM SET PRICE = PRICE - (PRICE * (30/100));
- WHERE 조건절을 생략함으로써 테이블의 모든 데이터를 수정한다.
SQL 구문별 상세 설명 - DDL (0) | 2022.04.02 |
---|---|
데이터를 삭제하는 DELETE 문 (0) | 2022.03.30 |
데이터를 입력하는 insert문 (0) | 2022.03.26 |
mysqli_connect(): (HY000/1130) 1130 에러 해결방법 (0) | 2022.03.22 |
데이터베이스 모델링(뷰설계, 인덱스 설계) (0) | 2020.05.19 |
댓글 영역