>  기사  >  데이터 베이스  >  MySQL 임시 테이블의 기능과 예제 코드에 대한 자세한 설명

MySQL 임시 테이블의 기능과 예제 코드에 대한 자세한 설명

零下一度
零下一度원래의
2017-05-16 10:46:232166검색

MySQL 임시 테이블은 임시 데이터를 저장해야 할 때 매우 유용합니다. 임시 테이블은 현재 연결에서만 볼 수 있습니다. 연결이 닫히면 Mysql은 자동으로 테이블을 삭제하고 모든 공간을 해제합니다.

MySQL 버전 3.23에는 임시 테이블이 추가되었습니다. MySQL 버전이 3.23 미만인 경우 MySQL의 임시 테이블을 사용할 수 없습니다. 그러나 요즘에는 일반적으로 이렇게 낮은 버전의 MySQL 데이터베이스 서비스를 사용하는 경우가 드뭅니다.

MySQL 임시 테이블은 현재 연결에서만 볼 수 있습니다. PHP 스크립트를 사용하여 MySQL 임시 테이블을 생성하면 PHP 스크립트가 실행될 때 임시 테이블이 자동으로 삭제됩니다.

다른 MySQL 클라이언트 프로그램을 사용하여 MySQL 데이터베이스 서버에 연결하여 임시 테이블을 생성하는 경우 클라이언트 프로그램을 닫을 때만 임시 테이블이 삭제됩니다. 물론 수동으로 삭제할 수도 있습니다.

예제

다음은 MySQL 임시 테이블을 사용하는 간단한 예를 보여줍니다. PHP 스크립트의 mysql_query() 함수에 다음 SQL 코드를 적용할 수 있습니다.

mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);
mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)

SHOW TABLES 명령을 사용하여 데이터 테이블 목록을 표시하는 경우 SalesSummary 테이블을 볼 수 없습니다.

현재 MySQL 세션을 종료한 후 SELECT 명령을 사용하여 원래 생성된 임시 테이블 데이터를 읽으면 종료 시 임시 테이블이 삭제되어 해당 테이블이 데이터베이스에 존재하지 않는 것을 알 수 있습니다. .

MySQL 임시 테이블 삭제

기본적으로 임시 테이블은 데이터베이스 연결을 끊을 때 자동으로 삭제됩니다. 물론 현재 MySQL 세션에서 DROP TABLE 명령을 사용하여 임시 테이블을 수동으로 삭제할 수도 있습니다.

다음은 임시 테이블을 수동으로 삭제하는 예입니다.

mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);
mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql> DROP TABLE SalesSummary;
mysql>  SELECT * FROM SalesSummary;
ERROR 1146: Table 'TUTORIALS.SalesSummary' doesn't exist

[관련 권장 사항]

1. 특별 권장 사항: "php Programmer Toolbox" V0.1 버전 다운로드

2. 무료 mysql 온라인 비디오 튜토리얼

3. 데이터베이스 설계에 관한 사항

위 내용은 MySQL 임시 테이블의 기능과 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.