[SYNTAX]
UPDATE 테이블명 SET 열명 = 값 WHERE 조건식
RDBMS에서는 UPDATE 명령으로 데이블의 셀 값을 갱신할 수 있다.
UPDATE명령은 SET 구를 사용해서 갱신할 열과 값을 지정한다. SET구에 지정한 갱신 내용은 처리 대상이 되는 모든 행에 적용된다.
WHERE구에 조건을 지정하면 그에 일치하는 행을 갱신할 수 있지만, WHERE 구를 생략한 경우 테이블의 모든 행이 갱신된다.
SET구에서 ' = '은 비교 연산자가 아닌 대입 연산자이기 때문에
이처럼 UPDATE명령에서 증가 연산으로 데이터 갱신이 가능하다.
또한, SET구에서 필요에 따라 콤마( , )를 사용해서 복수 열 갱신도 가능하다.
[SYNTAX]
UPDATE 테이블명 SET 열명1 = 값1, 열명2 = 값2, ... WHERE 조건식
콤마를 사용해서 복수열 갱신을 하게 되면 두 구문으로 나누어 UPDATE 명령을 실행할 필요 없이 하나로 묶어서 UPDATE가 가능하다.
# 두 구문으로 나누어 update 명령 실행
update sample41 set a = 'XXX' where no = 2;
update sample41 set b = '2014-01-01' where no = 2;
# 하나로 묶어서 update 명령 실행
update sample41 set a = 'XXX', b = '2014-01-01' where no = 2;
마지막으로, UPDATE 명령으로 셀 값을 NULL로도 갱신할 수 있는데, 보통 NULL로 값을 갱신하는 것을 'NULL 초기화'라 부른다.
다만, NOT NULL 제약이 설정되어 있는 열은 NULL 값이 허용되지 않는다.
또한, SET a is null 이 명령도 먹히지 않는다. set구에서는 반드시 = 사용할 것.
'Language > MySQL' 카테고리의 다른 글
[MySQL] 행 개수 구하기 - COUNT (1) | 2022.11.04 |
---|---|
[MySQL] 물리삭제와 논리삭제 (0) | 2022.10.10 |
[MySQL] 삭제하기 - DELETE (1) | 2022.09.30 |
[MySQL] 행 추가하기 - INSERT (0) | 2022.09.28 |
[MySQL] case문으로 데이터 변환하기 (0) | 2022.09.27 |