SQL

SELECT INTO 구문

진격의 파파 2013. 9. 5. 14:50
반응형

 

안녕하세요!! 

이번에 포스팅할 내용은 SELECT INTO 구문입니다.

 

사실 select into 구문을 포스팅할까 말까 조금 망설였습니다. 지금 PHP 프로그래밍 작업을 하며 My-sql 데이터베이스를 사용하고 있는데 위 select into 기능은 my-sql에서 지원되지 않고 있기 때문인데 제가 사용하지 않는 기능을 다른분에게 잘 설명드릴수 있을까 고민했었습니다. 그런데 어차피 저도 배우는 자세로 포스팅해보려 합니다. 이부분은 조금 미흡하더라도 양해 부탁드립니다. ^^

 

select into 의 기능은 동일한 테이블의 형태를 복사하여 만드는데 매우 유용한 기능입니다.

예를들어

SELECT * INTO A_BACKUP FROM A;

위 구문을 실행하기 전까지는 A_BACKUP 란 테이블은 존재하지 않지만 실행을 하게 되면 A라는 테이블의 칼럼과 데이터를 가지는 A_BACKUP 라는 테이블이 생성됩니다.

 

그리고 만약 A라는 테이블의 필요한 칼럼만을 해당하는 테이블을 만들고 싶은 경우

SELECT COLUMN1, COLUMN2 .. INTO A_BACKUP

FROM A;

// 필요한 칼럼을 SELECT 구문뒤에 적은후 INTO 구문을 사용하면 원하는 칼럼만을 가져올 수 있습니다.

 

그리고 SELECT INTO의 또 다른 사용방법에는 IN 구문을 사용하여 백업파일을 만들 수 있습니다.

SELECT * INTO A_BACKUP IN 'BACKUP.MDB'
FROM A;

// 처럼 말이죠

 

그리고 원하는 값만 가져오고 싶을 경우 WHERE 구문을 사용하면 됩니다.

SELECT * INTO A_BACK

FROM A

WHERE COLUMN_NAME = 'VALUE';

// 원하는 칼럼값에 해당하는 조건을 넣으면 됩니다.

 

그리고 새 테이블에 하나 이상의 테이블에서 데이터를 가져오고 싶은 경우

SELECT INFO.Name, ORDER.OrderID
INTO INFOORDERBackup2013
FROM INFO
LEFT JOIN ORDER
ON INFO.ID = ORDER.ID;

// 처럼 이전 포스팅에서 설명드렸던 JOIN 구문을 활용하여 가져 올수도 있습니다.

 

이런 구문이 MY-SQL도 있으면 참 유용하게 도움될텐데 말이죠.

MYSQL측에 언제 업데이트 할 예정인지 알아봐야겠습니다.

 

어쨋든 오늘 포스팅은 여기까지 입니다.

남은하루 마무리 잘 하시고 즐거운 프로그래밍 되시길 바랍니다. ^^

 

 

반응형