[MySQL] 7편 UPDATE 사용하기, DELETE 사용하기

Hailey·2021년 1월 17일
1

MySQL

목록 보기
7/9

UPDATE 사용하기

update란 기존 데이터의 row 수는 변하지 않지만 row 내 특정 칼럼의 값이 바뀌는 작업을 말합니다. update 다음에 테이블명을 명시하기 때문에 from을 쓰지 않습니다.

  • employee
namedeptnumber
이민성개발1010
유민우개발1011
박희진개발1012
최유석개발1013
김민교개발1014

사번이 1014번인 사원의 이름을 '김민규'로 바꾸고자 합니다.

update employee set name = '김민규' 
where number = 1014;
update 테이블명 set 업데이트할 컬럼명 = '업데이트 내용' 
where 조건;
namedeptnumber
이민성개발1010
유민우개발1011
박희진개발1012
최유석개발1013
김민규개발1014

만약에 where 절을 넣지 않는다면 어떻게 될까요?

namedeptnumber
김민규개발1010
김민규개발1011
김민규개발1012
김민규개발1013
김민규개발1014

전체 사원의 이름이 '김민규'로 바뀌게 되니 조심해야 합니다.

  • where 절에 조건은 select문에서 배웠던 것처럼 "=" 조건뿐 아니라, in절 또는 like 등의 비교 연산자도 들어갈 수 있습니다. 하나만 예로 들어보겠습니다.
update employee set dept = '기획' 
where seq in (1010,1011,1012);
namedeptnumber
이민성기획1010
유민우기획1011
박희진기획1012
최유석개발1013
김민규개발1014
  • 다음은 2개 이상의 칼럼 값을 변경하는 update문 사용방법입니다.
update employee set name = '나는', dept = '디자인' 
where seq in (1010,1011,1012);
namedeptnumber
나는디자인1010
나는디자인1011
나는디자인1012
최유석개발1013
김민규개발1014

DELETE 사용하기

delete는 말 그대로 테이블에서 데이터를 삭제할 때 사용하는 명령어입니다.

퇴사한 회사원의 데이터를 삭제해보겠습니다.

delete from employee where number = 1012;
namedeptnumber
이민성개발1010
유민우개발1011
최유석개발1013
김민규개발1014

1013의 사번부터 데이터를 삭제하고자 합니다.

delete from employee where number > 1013;
namedeptnumber
이민성기획1010
유민우기획1011
박희진기획1012

전체 데이터를 삭제하고자 합니다.

delete from employee;
namedeptnumber

다음은 select한 결과들만 삭제하고자 합니다.

delete from employee1 
where number in (select number from employee2)
  • employee1
namedeptnumber
이민성개발1010
유민우개발1011
박희진개발1012
최유석개발1013
김민교개발1014
  • employee2
namenumber
이민성1010
유민우1011
  • 결과
namedeptnumber
박희진개발1012
최유석개발1013
김민교개발1014
profile
Business & Software 💗🌎

0개의 댓글