개발자 항해

DML ( 데이터조작어 ) - 2. update 본문

DB/MySQL

DML ( 데이터조작어 ) - 2. update

리치Y 2022. 7. 5. 21:37

2. 데이터 수정( update)

 

[문법]  update  테이블명

           set 컬럼명1 = 값1, 컬럼명2 = 값2,...

          [ where 조건문 ];

update전  데이터
update 구문으로 employee_id 113인 사원의 department_id를 50으로 변경
변경된 모습

 

 

① auto-commit 해제후 작업 ( DB에 바로 저장되지 않고 임시저장상태로 작업하기때문에 rollback으로 작업취소가능)

 

자동으로 auto-commit이 설정되어 있으니 해제하고 작업
where절없이 update구문을 department_id가 110으로 수정되게 날림
department_id가 모두 110으로 수정되었음을 알수있다.
작업취소 구문을 날려보자
department_id가 수정전모습으로 되돌아 와있다.

 

 

② null값으로 update

 

null값으로 update도 가능하다
null값이 삽입되었음을 알수있다.

 

 

③ subquery를 사용한 update 구문

 

 

위 구문의 뜻은

㉮ copy_emp테이블의 job_id를

employees테이블로 부터 employee_id가 205인 사원의 job_id와 같게 수정하고

㉯ copy-emp테이블의 salary는

employees테이블의 employee_id가 205인 사원의  salary와 같게 수정하되

㉰ 최종적으로 copy_emp테이블의 employee_id가 113인 사원에게 실행하라는 의미다.

 

아래에는 실행된 모습

 

copy_emp테이블
employees테이블

 

'DB > MySQL' 카테고리의 다른 글

트랜잭션 ( Transaction )  (0) 2022.07.20
DML ( 데이터조작어 ) - 3. delete  (0) 2022.07.20
DML ( 데이터조작어) - 1. insert  (0) 2022.07.04
DDL(데이터정의어) - View  (0) 2022.06.30
DDL(데이터정의어) - 2  (0) 2022.06.30