INSERT 문을 사용할 때 필드와 필드 값의 매핑을 확인해야한다. 또한 필드명은 생략할 수 있는데, 이 경우 모든 필드의 값을 입력해야한다. 반대로 얘기하면 원하는 필드만 Insert 할 때는 필드 명을 지정해야한다. 필드명을 지정해주는 방식을 사용할 때 디폴트 값은 생략할 수 있다.
실습을 진행해 보겠습니다.
ROLE 이라는 테이블의 role_id, description 컬럼에 200, 'CEO' 라는 값을 넣어주는 insert 구문입니다. 또 주의할 점이 하나 있습니다. 내가 원하는 컬럼을 지정하여 값을 검색할 때 Not Null 조건이 있는 컬럼을 포함하는 방식으로 값을 지정해야 Null 값으로부터 오는 오류를 방지할 수 있습니다.
role 테이블을 보고 있는데요. insert into ROLE(description) values('aaa') 를 실행하려고 하면 오류가 발생합니다. 왜 그러냐면 현재 테이블에서 role_id 는 PK 인데 기본 default 값이 NULL 입니다. 즉 값일 입력할 때 지정하지 않으면 NULL 이 자동으로 입력되고 PK 가 NULL을 가지게 되니까 오류가 발생합니다.
그래서 위의 그림을 보면 PK 만 값을 입력한 것은 오류가 발생하지 않은 것을 볼 수 있습니다.
Update 문
Update 문을 살펴보겠습니다. Update 문을 사용할 때 Where 절을 생략하면 전체 데이터가 영향을 받으니 조심해서 사용해야 한다. 예제를 사라펴보겠습니다.
update ROLE set desciption = 'CTO' where role_id = 200; 으로 update 문을 작성했습니다. 반복해서 강조하지만 update 문에 where 조건을 부여하지 않으면 모든 데이터가 영향을 받으니 주의해야 합니다.
Delete 문
Delete 문을 살펴보겠습니다. Delete 도 Where 조건을 주지 않으면 데이터 전체가 영향을 받으니 조심해야 한다. 예제를 보자.
delete from role where role_id = 200; 으로 원하는 데이터를 삭제하였다.