저번에 테이블을 만들어 봤어서 이번에는 각 테이블에 데이터를 삽입 삭제 수정을 해보려고 한다!
결국 Query문이라서 틀만 어느정도 알고 있으면 해볼만 한거 같다!!
일단 데이터를 넣으려면 내 테이블이 어떤 col을 가지고 있는지 확인해야한다!
desc employee;
desc를 사용하면 테이블의 틀을 알 수 있다!
위에 적힌 방식이 데이터를 테이블에 넣는 방식이다!!
차고로 한 row씩 넣을수도 있고 아니면 values (), () , (); 이렇게 여러개를 한번에 넣을 수도 있다
생각을 해보니 데이터가 넣어야되는게 많다면 한번에 작성해버려서 끝내는게 더 나은거 같다
차고로 우리는 테이블을 만들때 check (sex in ('M', 'F')); 라는 설정을 했다
이 설정을 하면 저 부분에 M,F가 아닌게 오게 되면 오류를 출력한다!!
그리고 내가 어떤 설정들을 했는지 알고 싶으면 아래 명령어를 사용하면 된다!
show create table employee;
select * from project;
이렇게 select * from 테이블이름 ==> 하게 되면 테이블의 전체 데이터들이 나온다!
우리가 employee 데이터를 넣을때 department와 연결된 부분인 dept_id를 null로 전부 설정해두었다.
하지만 이제는 department 테이블에 데이터가 존재하므로 employee의 dept_id를 null이 아닌 맞게 적어줘야한다!
이때는 update를 사용하면 된다!!
update employee set dept_id=1003 where id=1;
테이블이름 set 설정조건 where 특정부분 정하기
저렇게 설정하면 update를 통해서 null을 우리가 원하는 1003으로 바꿀 수 있다!
개발팀 연봉을 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;로 설정을 해뒀어서 외래키로 사용하는 다른 테이블에서도
삭제가 된다!