Como o MySQL cria/descarta uma tabela temporária? O papel das tabelas temporárias do MySQL

MySQLComo criar/descartar uma tabela temporária?MySQLO papel das tabelas temporárias

tabela temporária MySQL

A tabela temporária do MySQL é muito útil quando precisamos salvar alguns dados temporários.As tabelas temporárias só ficam visíveis na conexão atual, quando a conexão for fechada, o Mysql irá deletar automaticamente a tabela e liberar todo o espaço.

As tabelas temporárias foram adicionadas na versão 3.23 do MySQL. Se a sua versão do MySQL for inferior à versão 3.23, você não poderá usar as tabelas temporárias do MySQL.No entanto, é raro usar uma versão tão baixa agora.banco de dados MySQLserviço.

A tabela temporária do MySQL só é visível para a conexão atual. Se você usar um script PHP para criar uma tabela temporária do MySQL, a tabela temporária será automaticamente destruída sempre que o script PHP for executado.

Se você usar outro programa cliente MySQL para se conectar ao servidor de banco de dados MySQL para criar uma tabela temporária, a tabela temporária só será destruída quando o programa cliente for fechado, claro, você também pode destruí-la manualmente.

Instância

O seguinte mostra um exemplo simples de uso da tabela temporária MySQL, o código SQL a seguir pode ser aplicado à função mysql_query() do 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 



                                   

  

quando você usaMOSTRAR TABELASQuando o comando exibir a lista de tabelas de dados, você não poderá ver a tabela SalesSummary.

Se você sair da sessão atual do MySQL, useSELECIONEcomando para ler os dados da tabela temporária criada originalmente, você descobrirá que a tabela não existe no banco de dados, porque a tabela temporária foi destruída quando você sai.


Solte a tabela temporária do MySQL

Por padrão, as tabelas temporárias são destruídas automaticamente quando você se desconecta do banco de dados.Claro que você também pode usar na sessão atual do MySQLRETIRAR TABELAcomando para descartar manualmente a tabela temporária.

Veja a seguir um exemplo de eliminação manual de uma 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 ; 
错误1146 'chenweiliang.SalesSummary' 存在  

发表 评论

Seu endereço de e-mail não será publicado. 必填 项 已 用 * 标注

Voltar ao Topo