<목차>
(DML)
ㅇ INSERT
ㅇ NULL을 입력하는 방법
ㅇ INSERT에서 많이 하는 실수
CF. DESC로 사전에 테이블 구조를 확인하고
각각의 컬럼들에 어떤 데이터와 어떤 값을 저장해야 할지 확인하는 선 작업 진행하는 게 좋아
INSERT INTO 테이블 (컬럼1, 컬럼2, 컬럼3) <- 컬럼은 선택사항 VALUES (각 컬럼에 맞는 데이터 값)
INSERT INTO departments values( 300, 'ITCENTER', 100, 1700) 1 row created.
(d_id, d_name, m_id, l_id) 순서, 데이터타입 맞춰서
INSERT INTO departments(department_id, department_name, manager_id, location_id) VALUES (310, 'ADMIN', 101, 1800)
INSERT INTO departments( location_id, manager_id, department_id, department_name) VALUES (1700, 100, 320, 'CCC')
바뀐 순서에 맞게 밸류도 순서 맞추면 돼
암시적 방법 (implicit)
명시적 방법 (explicit) - 이 방법을 더 선호
INSERT INTO departments VALUES ( 340, 'FFFF', NULL, NULL)
ㅇ 스크립트 작성은 안 쓰는 방법이라 소개만 하고 넘어가
ㅇ 서브쿼리를 포함하는 인서트문
내일 테이블 생성하는 방법 배우고 같이 배울 거야
ㅇ 데이터를 삽입할 때는 무결성 검증을 해
INSERT INTO departments VALUES ( 10, 'AA', 100, 1700) SQL> / ERROR at line 1: ORA-00001: unique constraint (HR.DEPT_ID_PK) violated
d_id는 프라이머리 키인데 10번이 이미 있어서
INSERT INTO departments VALUES ( 'AA', 'AA', 100, 1700) SQL> / ERROR at line 2: ORA-01722: invalid number
d_id는 숫자만 가능해서
ㅇ INSERT는 한 번에 하나의 행만 삽입 가능
INSERT
VALUES
VALUES
VALUES
이렇게는 안 돼
(물론 엑셀 사용해서 로드하거나 고급기능으로 여러 개 집어넣을 수 있지만) 기본 문법은 이래