INSERT INTO 테이블이름 VALUES (all values);
INSERT INTO 테이블이름 (attributes list) VALUES (attributes list 순서에 맞는 values);
INSERT INTO 테이블이름 VALUES (...), (...), (...);
'employee_chk_2' 라는 제약사항을 위반했다면서 데이터가 추가되지 않았다.
저 제약사항이 뭔지 확인하고 싶을때 SHOW CREATE TABLE 테이블이름;
을 사용하면 된다.
salary의 default 값을 5천만으로 정해줬기 때문에 추가할 때 값을 넣어주지 않으면 5천만으로 자동설정된다.
dept_id 또한 따로 추가해주지 않았기 때문에 NULL값으로 자동설정 되었다.
데이터를 추가해준 테이블들은 다음과 같다
1. department 테이블
employee 테이블
project 테이블
works_on 테이블
UPDATE 테이블이름
SET 수정할 값
WHERE 조건
개발팀의 연봉을 2배로 늘리시오(개발팀의 dept_id는 1003)
프로젝트 ID가 2003인 프로젝트에 참여한 임직원의 연봉을 2배로 늘리시오
DELETE FROM 테이블이름
WHERE 조건
JOHN이라는 직원이 퇴사하였으니 employee 테이블에서 삭제하시오
id = 8 인 JOHN을 employee 테이블에서 삭제하려고 한다. 근데 JOHN은 프로젝트 id가 2001인 프로젝트에 참여중이다. 그러나 works_on 테이블에서 따로 삭제해줄 필요가 없다.
이유는 works_on 테이블을 생성할 때
이러한 제약사항을 설정해줬기 때문이다. on delete CASCADE
는 참조한 키가 삭제되었을 때 그 키와 대응하는 empl_id도 삭제하라는 제약사항이다.
DINGYO(id = 5)는 2001, 2002, 2003 프로젝트에 참여중이다. 2001 프로젝트에만 참여하도록 하기 위해 나머지 프로젝트를 삭제하시오
<>
는 !=
이 표시와 같다. 2001을 제외한 proj_id를 모두 삭제하기 위해서 사용되었다.