DB- 데이터를 테이블에 삽입, 삭제, 수정 해보자!

박경현·2023년 8월 21일
0

저번에 테이블을 만들어 봤어서 이번에는 각 테이블에 데이터를 삽입 삭제 수정을 해보려고 한다!

결국 Query문이라서 틀만 어느정도 알고 있으면 해볼만 한거 같다!!

데이터를 넣어보자!

일단 데이터를 넣으려면 내 테이블이 어떤 col을 가지고 있는지 확인해야한다!

desc employee;

desc를 사용하면 테이블의 틀을 알 수 있다!

insert into (table-name) values ();

위에 적힌 방식이 데이터를 테이블에 넣는 방식이다!!

차고로 한 row씩 넣을수도 있고 아니면 values (), () , (); 이렇게 여러개를 한번에 넣을 수도 있다

생각을 해보니 데이터가 넣어야되는게 많다면 한번에 작성해버려서 끝내는게 더 나은거 같다

check에 걸리면 무조건 Error!!!

차고로 우리는 테이블을 만들때 check (sex in ('M', 'F')); 라는 설정을 했다
이 설정을 하면 저 부분에 M,F가 아닌게 오게 되면 오류를 출력한다!!

그리고 내가 어떤 설정들을 했는지 알고 싶으면 아래 명령어를 사용하면 된다!

show create table employee;

제대로 넣었는지 확인해보려면 select를 사용하자!

select * from project;

이렇게 select * from 테이블이름 ==> 하게 되면 테이블의 전체 데이터들이 나온다!

데이터를 수정해야할때 어떻게 해야할까?

우리가 employee 데이터를 넣을때 department와 연결된 부분인 dept_id를 null로 전부 설정해두었다.

하지만 이제는 department 테이블에 데이터가 존재하므로 employee의 dept_id를 null이 아닌 맞게 적어줘야한다!

이때는 update를 사용하면 된다!!

update를 사용하자!

update employee set dept_id=1003 where id=1;

테이블이름 set 설정조건 where 특정부분 정하기

저렇게 설정하면 update를 통해서 null을 우리가 원하는 1003으로 바꿀 수 있다!

update를 사용한 다양한 예시

개발팀 연봉을 2배이상으로 만들고 싶다!
update employee set salary=salary X 2 where dept_id = 1003;

프로젝트아이디2003에 참여한 직원 연봉 두배로 만들기!
update employee, works_on
set employee.salary=employee.salaryX2
where employee.id=works_on.empl_id and proj_id=2003;

데이터는 어떻게 삭제할까?

delete from employee where id=2; 

이렇게 하면 employee에서 id=2;인 사람이 삭제된다!
이때 우리가 on delete CASCADE;로 설정을 해뒀어서 외래키로 사용하는 다른 테이블에서도
삭제가 된다!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글