MySQL은 어떻게 임시 테이블을 생성/삭제합니까? MySQL 임시 테이블의 역할

MySQL의임시 테이블을 생성/삭제하는 방법은 무엇입니까?MySQL의임시 테이블의 역할

MySQL 임시 테이블

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 ); 查询OK 0 行受影响0.00  
     
     
     

 

的MySQL > INSERT INTO SalesSummary - > PRODUCT_NAME TOTAL_SALES avg_unit_price total_units_sold - > VALUES
     - > '黄瓜' 100.25 90 2 );
     
        

mysql > SELECT * FROM SalesSummary ; + -------------- + ------------- + ---------------- + --- --------------- + | product_name | total_sales | avg_unit_price | total_units_sold | + -------------- + ------------- + ---------------- + --- --------------- + | 黄瓜      | 100.25 | 90.00 | 2 | + -------------- + ------------- + ---------------- + --- --------------- + 1 集合0.00 



                                   

  

당신이 사용할 때쇼 테이블명령이 데이터 테이블 목록을 표시할 때 SalesSummary 테이블을 볼 수 없습니다.

현재 MySQL 세션을 종료하는 경우 다음을 사용하십시오.SELECT원래 생성된 임시 테이블의 데이터를 읽는 명령을 실행하면 종료할 때 임시 테이블이 파괴되었기 때문에 데이터베이스에 해당 테이블이 존재하지 않음을 알 수 있습니다.


MySQL 임시 테이블 삭제

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

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

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 ; 
错误1146 'chenweiliang.SalesSummary' 存在  

发表 评论

귀하의 이메일 주소는 공개되지 않습니다. 必填 项 已 用 * 标注

위쪽으로 스크롤