MySQL에서 임시 테이블 생성

Preet Sanghavi 2023년1월30일
  1. MySQL에서 기본 임시 테이블 생성
  2. SELECT 쿼리에서 임시 테이블 생성
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)과 동일한 항목 및 항목이 있는 임시 테이블이 생성되었습니다.

따라서 위의 두 가지 방법을 통해 임시 테이블을 효율적으로 생성할 수 있습니다. 이 임시 테이블은 마지막 연결이 종료되는 즉시 삭제됩니다.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

관련 문장 - MySQL Table