본문 바로가기

Learning/SQL

데이터 조작어(DML) - UPDATE (데이터의 갱신

<데이터 조작어(DML)-UPDATE (데이터의 갱신)>

 

 

  • UPDATE: 테이블에 있는 행의 내용을 갱신하는 명령어

1
2
3
UPDATE 테이블
SET 컬럼=값 [, 컬럼=값,...]
[WHERE 조건];
cs

 


 

  • 업데이트 사용시 where 절에 항상 기본키를 활용한다.

1
2
3
4
5
6
7
8
CREATE TABLE copy_emp
AS
SELECT * FROM employees;
 
UPDATE copy_emp
SET salary = 24100
WHERE employee_id = 100;
COMMIT;
cs

 

    • 의도치 않게 이름이 같은 사람들이 업데이트됨 (Steven이 두명이므로 기본키로 조건을 거는게 좋다)

1
2
3
4
UPDATE copy_emp
SET salary = 24100
WHERE first_name = 'Steven';
COMMIT;
cs

 

 


 

 

  • Where 절을 안썼을때: 전부 업데이트 됨

1
2
3
UPDATE copy_emp
SET phone_number = '123-456-789';
ROLLBACK;
cs

 


 

 

 

<UPDATE 예제>

 

  • copy_departments 테이블의 '개발부 4,5' 부서의 매니저와 location ID를 업데이트

1
2
3
4
5
6
7
UPDATE copy_departments
SET manager_id=100, location_id=1800
WHERE department_name='개발부 4';
 
UPDATE copy_departments
SET manager_id=100, location_id=1800
WHERE department_name='개발부 5';
cs

 

 

 

  • copy_departments 테이블에서 department_id 150부터 200까지 부서번호의 manager_id를 100으로 수정

1
2
3
UPDATE copy_departments
SET manager_id=100
WHERE department_id BETWEEN 150 AND 200;
cs