15장, 데이터 삽입 : INSERT INTO ~ SELECT INTO
Introduction
지금까지 SELECT 만 다루었다. SELECT는 여기까지만 보면 되고, 지금부터는 테이블에 데이터를 삽입하는 방법에 대해서 알아 본다. (데이터를 삽입하기 위해선 DB접근자가 INSERT가 가능한 상태 로 바꾸어야 한다.)
Content
1. 어떻게 데이터를 테이블에 삽입 하는가?
SQL 절 중 INSERT 절을 이용한다.
2. 어떻게 INSERT 절을 이용 하는가?
INSERT는 크게 2가지 이용 방법이 있다.
2-1 테이블에 행 삽입하기
행을 삽입하는 방법으로는, 테이블에 나열된 열 순으로 삽입하는 방법과 열 이름을 지정하여 삽입하는 방법이 있다.
- 테이블에 나열된 열 순으로 삽입하는 방법
- 테이블에 있는 열 이름을 지정하여 삽입하는 방법
2-1-1 두 사용법 중 어느 것이 더 좋은가?
책에선 두번째 "테이블에 있는 열 이름을 지정하여 삽입하는 방법"을 선호하라고 한다. 그 이유가 테이블의 순서가 바뀌거나, 새로운 열이 추가 될때, 기존 SQL 쿼리를 가장 적게 손을 대기 때문이라고 한다.
2-1-2 주의해야 할 사항이 테이블 행 삽입에 있는가?
INSERT 로 행 삽입시 특정 열 값을 넣지 않고, 삽입이 가능하다. 이 때는 해당 열에 "기본값" 설정 이나 "NULL값" 허용을 했기 때문이다.
2-2 테이블에 쿼리 결과 입력하기
INSERT를 이용하면, SELECT 로 나온 결과를 테이블에 넣을 수 있다. 그 방법은 다음과 같다.
주의 사항으로는 나열된 열 이름이 아닌, 순서로 복사가 됨을 알아야 한다.
INSERT + SELECT 방식 말고, SELCT + INSERT를 이용하여, 테이블에 행을 넣을 수도 있다.
이 방법은 테이블 복사 할 때 많이 쓰이며, CustCopy 라는 테이블을 만들 면서, customers 의 모든 데이터를 CustCopy 에 넣는다.
INSERT SELECT은 SELECT 로 값을 가져 와서 INSERT 하는것이고, SELECT INTO는 SELECT로 가져온것을 INTO 다 내보내는 것을 의미한다.
관련링크
- http://www.w3schools.com/SQL/sql_insert.asp
- http://sql.1keydata.com/kr/sql-insert-into.php
- http://tit99hds.egloos.com/928582
- http://blog.outsider.ne.kr/263
Digression
졸려서 더 이상 못 보겠다.