안녕하세요!!
이번에 포스팅할 내용은 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측에 언제 업데이트 할 예정인지 알아봐야겠습니다.
어쨋든 오늘 포스팅은 여기까지 입니다.
남은하루 마무리 잘 하시고 즐거운 프로그래밍 되시길 바랍니다. ^^
'SQL' 카테고리의 다른 글
SQL CREATE DATABASE and TABLE 구문 (0) | 2013.09.07 |
---|---|
SQL INSERT INTO SELECT 구문 (0) | 2013.09.06 |
SQL UNION 구문 (0) | 2013.09.04 |
SQL RIGHT JOIN 구문 (1) | 2013.09.03 |
SQL LEFT JOIN 구문 (0) | 2013.09.02 |