MySQL에서 임시 테이블 생성
이 튜토리얼에서는 MySQL에서 임시 테이블을 생성하는 다양한 방법을 탐색하는 것을 목표로 합니다.
임시 테이블의 주요 기능 중 하나는 임시 데이터를 저장하는 데 유용하다는 것입니다. 이 기능은 MySQL 버전 3.23 이상에서 활성화됩니다.
이러한 테이블은 사용자가 수동으로 테이블을 삭제하거나 세션이 종료되면 손실됩니다.
임시 테이블의 또 다른 특징은 동일한 테이블 이름을 여러 연결에서 사용할 수 있다는 것입니다. 이것은 클라이언트가 자신이 만든 임시 테이블만 작업할 수 있기 때문에 가능합니다.
MySQL에서 임시 테이블을 만드는 두 가지 주요 방법이 있습니다.
- 기본 임시 테이블 생성.
SELECT
쿼리에서 임시 테이블 생성.
그러나 시작하기 전에 작업할 더미 데이터 세트를 만듭니다. 여기에서 몇 개의 행과 함께 student_details
테이블을 만듭니다.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
위의 쿼리는 학생의 이름과 성이 포함된 행과 함께 테이블을 생성합니다. 데이터의 항목을 보기 위해 다음 코드를 사용합니다.
SELECT * FROM student_details;
위의 코드는 다음과 같은 출력을 제공합니다.
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
이제 student_details
테이블과 유사한 students_temporary
라는 이름의 임시 테이블을 생성해 보겠습니다.
MySQL에서 기본 임시 테이블 생성
임시 테이블을 생성하는 가장 기본적인 방법 중 하나는 TEMPORARY
키워드를 사용하는 것입니다. 다음과 같이 students_teporary
라는 임시 테이블을 만들 수 있습니다.
-- Basic temporary table creation
CREATE TEMPORARY TABLE students_teporary(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
위의 코드는 students_temporary
라는 임시 테이블을 생성합니다. 다음으로 다음 코드를 사용하여 이 테이블에 몇 가지 항목을 삽입해 보겠습니다.
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
앞서 언급한 코드의 출력 결과는 다음과 같은 임시 테이블이 됩니다.
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
SELECT
쿼리에서 임시 테이블 생성
임시 테이블을 만드는 또 다른 방법은 select 문을 사용하는 것입니다. 이 방법을 사용하면 전체 테이블을 동일한 엔터티 및 데이터 유형을 가진 임시 테이블로 복제할 수 있습니다. select
문을 사용하여 students_details_temporary
임시 테이블을 생성해 보겠습니다. 다음 코드로 이를 수행할 수 있습니다.
-- Replicating the students_details table
CREATE TEMPORARY TABLE IF NOT EXISTS students_details_temporary AS (SELECT * FROM students_details);
참고: 위 쿼리에서 IF NOT EXISTS
를 사용하여 데이터베이스에 student_details_temporary
라는 이름의 테이블이 없는지 확인합니다.
앞서 언급한 코드는 다음과 같은 출력을 제공합니다.
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
보시다시피 원본 테이블(student_details
)과 동일한 항목 및 항목이 있는 임시 테이블이 생성되었습니다.
따라서 위의 두 가지 방법을 통해 임시 테이블을 효율적으로 생성할 수 있습니다. 이 임시 테이블은 마지막 연결이 종료되는 즉시 삭제됩니다.