Latest web development tutorials

MySQL tabelas temporárias

MySQL tabelas temporárias que precisamos para salvar alguns dados temporários é muito útil. A tabela temporária é visível na conexão atual, quando a conexão é fechada, o MySQL irá apagar automaticamente a tabela e liberar todo o espaço.

As tabelas temporárias em versão 3.23 é adicionado, se a sua versão do MySQL anteriores à versão 3.23 não pode usar tabelas temporárias do MySQL. Mas agora há um outro raramente usam uma versão tão baixo do servidor de banco de dados MySQL.

MySQL tabelas temporárias apenas visível na conexão atual, se você usar script PHP MySQL para criar uma tabela temporária, em seguida, quando fez a execução do script PHP estiver concluída, a tabela temporária é automaticamente destruído.

Se você usar outro programa cliente MySQL para conectar servidor de banco de dados MySQL para criar uma tabela temporária, em seguida, apenas quando você fechar o programa cliente irá destruir a tabela temporária, é claro, você também pode destruídos manualmente.

Exemplos

O seguinte mostra um exemplo simples do uso do MySQL tabela temporária, o seguinte código SQL pode ser aplicada ao mysql_query script PHP () função.

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)

Quando você usa o comando show tabelas para exibir uma lista de tabela de dados, você não vai ver tabela SalesSummary.

Se você sair da sessão atual MySQL, em seguida, use o comando SELECT para ler os dados originalmente criado tabela temporária, em seguida, você vai achar que o banco de dados não existe na tabela, porque quando você sair a tabela temporária foi destruída.


Excluir tabelas temporárias do MySQL

Por padrão, quando você desconecta a conexão com o banco de dados, a tabela temporária será automaticamente destruído. Claro, você também pode excluir manualmente a tabela temporária usando o comando DROP TABLE na sessão MySQL atual.

O seguinte é excluir manualmente o Exemplo tabela temporária:

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