English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 SQL을 사용하여 임시 테이블을 생성하는 방법을 배울 것입니다.
임시 테이블은 현재 세션에만 보이는 테이블이며, 해당 테이블을 생성한 세션이 닫혀질 때 자동으로 지워집니다.
따라서 임시 테이블이 데이터베이스에 영구적으로 저장되지 않기 때문에, 짧은 시간 동안 테스트하거나 테스트하고자 하는 테이블을 자동으로 사라지게 하고자 할 때 매우 유용합니다.
CREATE TEMPORARY TABLE 문은 임시 테이블을 생성하기 위해 사용됩니다.
CREATE TEMPORARY TABLE table_name (column definitions);
임시 테이블을 처음부터 생성하려면 테이블을 생성할 때 TEMPORARY 키워드를 사용할 수 있습니다. 즉, CREATE TEMPORARY TABLE 문을 CREATE TABLE 문 대신 사용합니다. 전체 문법과 예제에 대한 정보는 " 테이블 생성단원.
SQL 쿼리를 테스트하고자 하면서 데이터베이스에 영향을 미치지 않을 때 임시 테이블이 매우 유용할 수 있습니다. 다음에서 임시 테이블을 생성해 보겠습니다.MySQL 데이터베이스에서존재하는 테이블의 임시 복사본을 생성합니다.
MySQL 명령 프롬프트에서 다음 명령을 입력하고 Enter를 누릅니다:
mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;
위의 문장은 현재 기본 테이블 persons의 결과 집합에서 dinamically persons라는 임시 테이블을 생성합니다. 또한, 그것이 persons 테이블의 임시 복사본이기 때문에, 다음과 같은 작업을 수행할 수 있습니다.INSERT,UPDATE또는DELETE이제 원본 persons 기본 테이블에 오류로 영향을 미치지 않도록 모든 작업을 수행할 수 있습니다.
힌트:일시적 테이블은 영구적인 기본 테이블과同名일 수 있습니다. 지정한 일시적 테이블의 이름이 기본 테이블의 이름과同名이면, 영구적인 기본 테이블은 일시적 테이블을 제거할 때까지 숨겨집니다.
주의:일시적 테이블은 세션에 특정적이므로, 두 개의 다른 세션에서는 동일한 일시적 테이블 이름을 사용할 수 있으며, 서로 충돌하지 않습니다.
일시적 테이블은 생성된 데이터베이스 연결이나 세션을 닫을 때 자동으로 제거됩니다. 그러나, 현재 세션을 닫지 않고 제거하려면 다음과 같은 DROP TEMPORARY TABLE 문을 사용할 수 있습니다:
mysql> DROP TEMPORARY TABLE persons;
위의 문장은 다음과 같이persons데이터베이스에서 일시적 테이블을 제거합니다. 그런 다음, 원본persons기본 테이블이 보이게 됩니다.