UPDATE 사용하기
update란 기존 데이터의 row 수는 변하지 않지만 row 내 특정 칼럼의 값이 바뀌는 작업을 말합니다. update 다음에 테이블명을 명시하기 때문에 from을 쓰지 않습니다.
name | dept | number |
---|
이민성 | 개발 | 1010 |
유민우 | 개발 | 1011 |
박희진 | 개발 | 1012 |
최유석 | 개발 | 1013 |
김민교 | 개발 | 1014 |
사번이 1014번인 사원의 이름을 '김민규'로 바꾸고자 합니다.
update employee set name = '김민규'
where number = 1014;
update 테이블명 set 업데이트할 컬럼명 = '업데이트 내용'
where 조건;
name | dept | number |
---|
이민성 | 개발 | 1010 |
유민우 | 개발 | 1011 |
박희진 | 개발 | 1012 |
최유석 | 개발 | 1013 |
김민규 | 개발 | 1014 |
만약에 where 절을 넣지 않는다면 어떻게 될까요?
name | dept | number |
---|
김민규 | 개발 | 1010 |
김민규 | 개발 | 1011 |
김민규 | 개발 | 1012 |
김민규 | 개발 | 1013 |
김민규 | 개발 | 1014 |
전체 사원의 이름이 '김민규'로 바뀌게 되니 조심해야 합니다.
- where 절에 조건은 select문에서 배웠던 것처럼 "=" 조건뿐 아니라, in절 또는 like 등의 비교 연산자도 들어갈 수 있습니다. 하나만 예로 들어보겠습니다.
update employee set dept = '기획'
where seq in (1010,1011,1012);
name | dept | number |
---|
이민성 | 기획 | 1010 |
유민우 | 기획 | 1011 |
박희진 | 기획 | 1012 |
최유석 | 개발 | 1013 |
김민규 | 개발 | 1014 |
- 다음은 2개 이상의 칼럼 값을 변경하는 update문 사용방법입니다.
update employee set name = '나는', dept = '디자인'
where seq in (1010,1011,1012);
name | dept | number |
---|
나는 | 디자인 | 1010 |
나는 | 디자인 | 1011 |
나는 | 디자인 | 1012 |
최유석 | 개발 | 1013 |
김민규 | 개발 | 1014 |
DELETE 사용하기
delete는 말 그대로 테이블에서 데이터를 삭제할 때 사용하는 명령어입니다.
퇴사한 회사원의 데이터를 삭제해보겠습니다.
delete from employee where number = 1012;
name | dept | number |
---|
이민성 | 개발 | 1010 |
유민우 | 개발 | 1011 |
최유석 | 개발 | 1013 |
김민규 | 개발 | 1014 |
1013의 사번부터 데이터를 삭제하고자 합니다.
delete from employee where number > 1013;
name | dept | number |
---|
이민성 | 기획 | 1010 |
유민우 | 기획 | 1011 |
박희진 | 기획 | 1012 |
전체 데이터를 삭제하고자 합니다.
delete from employee;
다음은 select한 결과들만 삭제하고자 합니다.
delete from employee1
where number in (select number from employee2)
name | dept | number |
---|
이민성 | 개발 | 1010 |
유민우 | 개발 | 1011 |
박희진 | 개발 | 1012 |
최유석 | 개발 | 1013 |
김민교 | 개발 | 1014 |
name | dept | number |
---|
박희진 | 개발 | 1012 |
최유석 | 개발 | 1013 |
김민교 | 개발 | 1014 |