English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las tablas temporales de MySQL son muy útiles cuando necesitamos guardar algunos datos temporales. Las tablas temporales solo son visibles en la conexión actual y se eliminan automáticamente y se liberan todo el espacio cuando se cierra la conexión.
Las tablas temporales en MySQL 3.23versión se agregó, si su versión de MySQL es inferior a 3.23versión no puede usar tablas temporales de MySQL. Sin embargo, ahora rara vez se utiliza una versión tan baja de la base de datos MySQL.
Las tablas temporales de MySQL solo son visibles en la conexión actual, si crea tablas temporales de MySQL utilizando scripts PHP, la tabla temporal también se eliminará automáticamente cuando finalice la ejecución del script PHP.
Si utilizó otro programa cliente de MySQL para conectarse al servidor de bases de datos MySQL para crear tablas temporales, entonces solo se eliminarán las tablas temporales cuando se cierre el programa cliente, por supuesto, también puede eliminarlas manualmente.
A continuación se muestra un ejemplo simple de uso de tablas temporales de MySQL, el siguiente código SQL es aplicable a la función mysql_query() de los scripts PHP.
mysql> CREAR TABLA TEMPORAL SalesSummary ( -> product_name VARCHAR50) NO NULO -> , total_sales DECIMAL12,2NO NULO POR DEFECTO 0.00 -> , avg_unit_price DECIMAL7,2NO NULO POR DEFECTO 0.00 -> , unidades_vendidas INT UNSIGNED NOT NULL DEFAULT 0 ); Consulta OK, 0 filas afectadas (0.00 seg) mysql> INSERT INTO SalesSummary -> (nombre_producto, ventas_totales, precio_unitario_promedio, unidades_vendidas) -> VALUES -> ('cucumber', 100.25, 90, 2); mysql> SELECT * FROM SalesSummary; +--------------+-------------+----------------+------------------+ | nombre_producto | ventas_totales | precio_unitario_promedio | unidades_vendidas_totales | +--------------+-------------+----------------+------------------+ | cucumber | 100.25 | 90.00 | 2 | +--------------+-------------+----------------+------------------+ 1 fila en conjunto (0.00 seg)
Cuando usa MOSTRAR TABLAScomando para mostrar la lista de tablas, no verá la tabla SalesSummary.
Si sale de la sesión actual de MySQL y luego usa SELECCIONARcomando para leer los datos de la tabla temporal creada anteriormente, y descubrirá que no existe dicha tabla en la base de datos, porque la tabla temporal se eliminó cuando salió.
Por defecto, cuando se desconecta de la base de datos, las tablas temporales se eliminan automáticamente. Por supuesto, también puede usar ELIMINAR TABLA comando para eliminar manualmente la tabla temporal.
A continuación se muestra un ejemplo de cómo eliminar manualmente una tabla temporal:
mysql> CREAR TABLA TEMPORAL SalesSummary ( -> product_name VARCHAR50) NO NULO -> , total_sales DECIMAL12,2NO NULO POR DEFECTO 0.00 -> , avg_unit_price DECIMAL7,2NO NULO POR DEFECTO 0.00 -> , unidades_vendidas INT UNSIGNED NOT NULL DEFAULT 0 ); Consulta OK, 0 filas afectadas (0.00 seg) mysql> INSERT INTO SalesSummary -> (nombre_producto, ventas_totales, precio_unitario_promedio, unidades_vendidas) -> VALUES -> ('cucumber', 100.25, 90, 2); mysql> SELECT * FROM SalesSummary; +--------------+-------------+----------------+------------------+ | nombre_producto | ventas_totales | precio_unitario_promedio | unidades_vendidas_totales | +--------------+-------------+----------------+------------------+ | cucumber | 100.25 | 90.00 | 2 | +--------------+-------------+----------------+------------------+ 1 fila en conjunto (0.00 seg) mysql> DROP TABLE SalesSummary; mysql> SELECT * FROM SalesSummary; ERROR 1146: Tabla 'w3codebox.SalesSummary' no existe