본문 바로가기

DATABASE/DML : 데이터 조작하기

01. 테이블에 데이터 추가하기

테이블 생성하기

CREATE문은 오라클의 구성 요소인 오브젝트를 만드는 데 사용하는 명령어이다.

CREATE TABEL (복사할 테이블이름) AS SELECT * FROM (원본 테이블);

 

INSERT문 실습 전 유의점

테이블을 잘못 만들었을때는 DROP TABLE (테이블이름);

실습중에 프로그램을 종료 경우 COMMIT 버튼 누르고 종료하면 된다.

 

테이블에 데이터를 추가하는 INSERT문

테이블에 데이터를 추가하는 데 사용하는 INSERT문은 다음과 같은 기본 형테로 작성한다.

INSERT INTO절 뒤에 데이터를 추가할 테이블 이름을 명시하고, 해당 테이블의 열을 소괄호로 묶어 지정한 후 VALUES절에 지정한 열에 입력할 데이터를 작성한다.

INSERT INTO [테이블이름 (열1, 열2, 열3, ...)]

VALUES (열1에 들어갈 데이터, 2에 들어갈 데이터, 3에 들어갈 데이터,...) ;

 

INSERT문에서 오류가 발생하는 경우

1) 지정한 열보다 입력하는 데이터의 개수가 적을 때

2) 지정한 열보다 입력하는 데이터의 개수가 많을 때

3) 데이터의 형을 맞추지 않았을 때

4) 데이터의 길이를 맞추지 않았을 때

 

INSERT문으로 데이터 입력하기

INSERT문에 지정하는 열은 생략할 수도 있다. 열 지정을 생략하면 해당 테이블을 만들 때 설정한 열 순서대로 모두 나열되어 있다고 가정하고 데이터를 작성한다.

 

테이블에 NULL데이터 입력하기

INSERT문으로 새로운 데이터를 추가할 때 특정 열에 들어갈 데이터가 확정되지 않았거나 굳이 넣을 필요가 없는 데이터인 경우에 NULL을 사용한다. NULL을 INSERT문에 지정하는 방법은 NULL을 데이터에 직접 지정하거나, INSERT문에 NULL이 들어가야 할 열 이름을 아예 입력하지 않는것이다. 

 

테이블에 날짜 데이터 입력하기

테이블의 열 이름만 복사하고 싶을 때

CREATE TABLE ( 테이블 이름 ) AS SELECT * FROM (원본테이블) WHERE 1 != 1; 

 

날짜 데이터를 입력시에는 TO_DATE함수로 입력값과 형식을 지정해주면 된다.

현재 시점으로 날짜를 입력할 경우에는 SYSDATE를 지정하면 된다.

 

서브쿼리를 사용하여 한번에 여러 데이터 추가하기

INSERT문에 서브쿼리를 사용하면 SELECT문으로 한번에 여러 행의 데이터를 추가할 수 있다. 

서브쿼리 사용시에는 VALUES절은 사용하지 않고, 데이터가 추가되는 테이블의 열 개수와 서브쿼리의 열 개수가 일치해야 하며, 데이터가 추가되는 테이블의 자료형과 서브쿼리의 자료형이 일치해야 한다.