MySQL 가져온 데이터 삽입하기(SELECT 하면서 INSERT하기)
INSERT문은 다음과 같이 테이블에 레코드를 삽입하기 위해서 사용 되어지며
아래의 두개의 코드는 가장 일반적인 INSERT문이라 할 수 있겠습니다.
INSERT문 예1
INSERT INTO ts_table ( ts_id,
ts_name,
ts_subject,
ts_homepage,
ts_content,
ts_readnum,
ts_zipcode )
VALUES ( '000001',
'웹마당넷',
'SELECT하면서 INSERT하기 예제',
'http://www.webmadang.net',
'틀리면 말고....알아서 하기',
1,
'123456' );
INSERT문 예2
INSERT INTO ts_table VALUES ( '000002',
'웹마당넷이 뭔지 몰라',
'제목이 뭔지 몰라아',
'http://www.webmadang.net',
'뭐가 뭔지 몰라아',
1,
'456789' );
위의 예와 같이 레코드를 삽입하는 것 뿐만 아니라 INSERT문은
SELECT문을 이용해 가져온 다른 테이블의 레코드를 추가하는 것도 가능합니다.
이를 INSERT SELECT라 하며 MySQL뿐만 아니라 다수의 DBMS가 INSERT SELECT를
지원합니다.
INSERT SELECT의 사용예
INSERT INTO ts_table SELECT * FROM cp_table WHERE no = 78;
cp_table에서 no가 78인 레코드를 ts_table에 insert 합니다. 위와 같이
INSERT문을 사용하기 위해서는 SELECT할 테이블과 INSERT할 테이블의 컬럼이
같아야 하며 위의 구문을 간단하게 정리하여 보자면 아래와 같습니다.
INSERT 테이블과 SELECT 테이블의 컬럽이 같을 때 INSERT SELECT
INSERT INTO [테이블] SELECT * FROM [테이블] WHERE [조건절];
그러면 INSERT 테이블과 SELECT 테이블의 컬럼이 같지 않을때는 INSERT SELECT 를 사용할 수 없을까요?
아래와 같이 사용하시면 됩니다.
INSERT 테이블과 SELECT 테이블의 컬럽이 같지 않을 때 INSERT SELECT 하기
INSERT INTO [테이블] (column1, colum2, colum3) SELECT column1, colum2, colum3 FROM [테이블] WHERE [조건절];
From : 높이뜬새(www.webmadang.net)