본문 바로가기

Language/MySQL

[MySQL] 데이터 갱신하기 - UPDATE

[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