¿Cómo MySQL crea/elimina una tabla temporal? El papel de las tablas temporales de MySQL

MySQL¿Cómo crear/soltar una tabla temporal?MySQLEl papel de las tablas temporales

tabla temporal mysql

Las tablas temporales de MySQL son muy útiles cuando necesitamos almacenar algunos datos temporales.Las tablas temporales solo son visibles en la conexión actual. Cuando se cierra la conexión, Mysql eliminará automáticamente la tabla y liberará todo el espacio.

Las tablas temporales se agregaron en MySQL versión 3.23. Si su versión de MySQL es anterior a la versión 3.23, no puede usar tablas temporales de MySQL.Sin embargo, es raro usar una versión tan baja ahora.base de datos mysqlServicio.

La tabla temporal de MySQL solo es visible para la conexión actual. Si usa un script PHP para crear una tabla temporal de MySQL, la tabla temporal se destruirá automáticamente cada vez que se ejecute el script PHP.

Si usa otro programa cliente MySQL para conectarse al servidor de base de datos MySQL para crear una tabla temporal, la tabla temporal solo se destruirá cuando se cierre el programa cliente. Por supuesto, también puede destruirla manualmente.

Ejemplo

A continuación se muestra un ejemplo simple del uso de la tabla temporal MySQL, el siguiente código SQL se puede aplicar a la función mysql_query() del script PHP.

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 



                                   

  

Cuando usasMOSTRAR MESASCuando el comando muestra la lista de tablas de datos, no podrá ver la tabla SalesSummary.

Si cierra la sesión de MySQL actual, useSELECTcomando para leer los datos de la tabla temporal creados originalmente, encontrará que la tabla no existe en la base de datos, porque la tabla temporal se destruyó cuando salió.


Soltar la tabla temporal de MySQL

De forma predeterminada, las tablas temporales se destruyen automáticamente cuando se desconecta de la base de datos.Por supuesto, también puede usar en la sesión actual de MySQLTABLA DE GOTAComando para soltar manualmente la tabla temporal.

El siguiente es un ejemplo de eliminación manual de una tabla temporal:

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' 存在  

发表 评论

Su dirección de correo electrónico no será publicada. 项 已 用 * 标注

Ir al Inicio