DataBase

[Oracle] INSERT문으로 데이터 삽입

noobdev 2020. 3. 1. 16:44

테이블의 새로운 데이터를 추가할 때는 INSERT문을 사용하여 데이터를 삽입한다.

여기서 새로운 데이터란 '게시판의 새 글', '회원가입' 등 각 기능 별 테이블에 새롭게 추가되는 데이터를 뜻한다.

 


INSERT문 기본 형식

INSERT INTO 테이블 이름 [(열 1, 열 2,.... 열 N)]
VALUES (열 1에 들어갈 데이터, 열 2에 들어갈 데이터,.... 열 N에 들어갈 데이터);

이때 주의할 점은 각 열에 들어갈 데이터는 열의 자료형과 같은 자료형으로 맞춰주어야 한다.

또 한 테이블 이름 뒤에 지정한 열의 개수보다 VALUES절 뒤에 열에 삽입되는 데이터가 적어도 오류가 발생한다.


INSERT문 예제

 

INSERT문 예제1

위 사진은 DEPT_TEMP 테이블의 DEPTNO열에는 50을 DNAME 열에는 DATABASE를 LOC에는 SEOUL 데이터를 새롭게 추가하는 예제이다.

결과는 아래와 같다.

 

INSERT문 예제1 결과

 


 

INSERT문 예제2

위의 예제는 NULL값을 삽입하는 예제이다.

테이블을 만들 때 제약조건으로 NOT NULL 혹은 PRIMARY KEY 등의 제약 조건을 따로 설정하지 않은 열에는 NULL 데이터를 삽입할 수 있다.

결과는 아래와 같다.

 

INSERT문 예제2 결과

결과를 보면 DEPTNO이 70인 행의 LOC열 값이 NULL 즉 비어있는 상태임을 확인할 수 있다.

 

NULL 값의 입력은 명시적으로 NULL 혹은 '' 빈 공백 문자열을 적어주는 방식과 묵시적으로 NULL 값이 들어가도록 값을 아예 안 적어주는 방식이 있다.

 


 

INSERT문 예제3 

위 예제는 서브 쿼리를 이용하여 한번에 여러 데이터를 추가하는 예제이다.

위 예제에서는 EMP 테이블과 SALGRADE 테이블을 조인하여 질의에 맞는 EMP 테이블의 데이터를 뽑아 그 결과를 EMP_TEMP 테이블에 삽입하는 예제이다.

 

INSERT문에 서브쿼리를 사용할 때는 VAULES 절을 사용하지 않고 데이터를 삽입할 테이블의 열 개수와 자료형이 서브 쿼리의 열 개수와 자료형과 동일해야 한다.

 

 

 

 

 

본 포스팅은 필자가 공부한 내용을 정리한 것으로 오류가 존재할 수 있습니다.
참고 : Do it! 오라클로 배우는 데이터베이스 입문
Do it! 오라클로 배우는 데이터베이스 입문
국내도서
저자 : 이지훈
출판 : 이지스퍼블리싱 2018.10.30
상세보기