Latest web development tutorials

tablas temporales MySQL

MySQL tablas temporales que necesitan para ahorrar algo de datos temporal es muy útil. La tabla temporal es visible en la conexión actual, cuando se cierra la conexión, Mysql borrará automáticamente la tabla y liberar todo el espacio.

Se añaden tablas temporales en MySQL versión 3.23, si la versión de MySQL anterior a la versión 3.23 no se puede utilizar tablas temporales MySQL. Pero ahora hay otro rara vez se utiliza una versión tan baja del servidor de base de datos MySQL.

MySQL tablas temporales pueden ser vistos en la conexión actual, si utiliza el script PHP MySQL para crear una tabla temporal, entonces cuando hizo la ejecución del script PHP es completa, la tabla temporal se destruye automáticamente.

Si utiliza otro programa cliente de MySQL para conectar el servidor de base de datos MySQL para crear una tabla temporal, entonces sólo cuando se cierra el programa cliente va a destruir la tabla temporal, por supuesto, también se puede destruir de forma manual.

Ejemplos

A continuación se muestra un ejemplo sencillo del uso de MySQL tabla temporal, el siguiente código SQL se puede aplicar a la función () mysql_query 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
);
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)

Cuando se utiliza el comando SHOW TABLES para mostrar una lista de la tabla de datos, no podrá ver tabla SalesSummary.

Si sale de la sesión actual de MySQL, a continuación, utilizar el comando SELECT para leer los datos creada originalmente tabla temporal, a continuación, usted encontrará que la base de datos no existe en la tabla, ya que cuando se sale de la tabla temporal ha sido destruida.


Eliminar MySQL tablas temporales

De forma predeterminada, cuando se desconecta la conexión con la base de datos, la tabla temporal será automáticamente destruido. Por supuesto, también se puede eliminar manualmente la tabla temporal con el comando DROP TABLE en la sesión de MySQL en uso.

El siguiente es borrar manualmente el Ejemplo 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;
ERROR 1146: Table 'w3big.SalesSummary' doesn't exist