MySQL中关于临时表的一些基本使用方法

临时表中添加MySQL版本3.23。如果您使用的是旧版本的MySQL比3.23,可以不使用临时表,但可以使用堆表。如前所述临时表将只持续只要的会话是存在的。如果运行一个PHP脚本中的代码,该临时表将被销毁时,会自动执行完脚本后。如果已连接到MySQL数据库的服务器上,通过MySQL的客户端程序的临时表将一直...
MySQL中关于临时表的一些基本使用方法
临时表可能是非常有用的,在某些情况下,保持临时数据。最重要的是应该知道的临时表是,他们将当前的客户端会话终止时被删除。
临时表中添加MySQL版本3.23。如果您使用的是旧版本的MySQL比3.23,可以不使用临时表,但可以使用堆表。
如前所述临时表将只持续只要的会话是存在的。如果运行一个PHP脚本中的代码,该临时表将被销毁时,会自动执行完脚本后。如果已连接到MySQL数据库的服务器上,通过MySQL的客户端程序的临时表将一直存在,直到关闭客户端或手动破坏的表。
实例
下面是一个例子,使用临时表在PHP脚本中,使用mysql_query()函数,可以使用相同的代码。
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)
当发出一个SHOW
TABLES命令,那么临时表将不会被列在列表中。现在如果将MySQL的会话的注销,那么会发出SELECT命令,那么会发现没有在数据库中的数据。即使临时表也就不存在了。
删除临时表:
默认情况下,所有的临时表被删除时,MySQL的数据库连接被终止。不过要删除他们之前就应该发出DROP
TABLE命令。
下面的例子为删除一个临时表。
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
'TUTORIALS.SalesSummary'
doesn't
exist2020-04-30
mengvlog 阅读 8 次 更新于 2025-07-20 15:17:42 我来答关注问题0
  •  翡希信息咨询 MySQL 临时表那些事儿

    MySQL临时表主要分为两种类型,并有特定的存储位置和转换机制。一、临时表的类型 用户数据临时表:这类临时表存储用户数据,可以使用Memory引擎或InnoDB引擎,存在于内存或磁盘上。SQL计算中间数据临时表:这类临时表主要用于存储SQL计算过程中的中间数据,如Temptable文件。这些临时文件可能在创建后立即被删除...

  • JOIN order_detls od ON o.order_id = od.order_id;使用临时表可以使查询更加高效,因为它允许 MySQL 在内存中处理大量数据,从而减少磁盘 IO 操作的次数。总结 临时表是一种非常有用的数据库对象,它可以用于存储和处理临时数据,优化 SQL 查询性能,并改善应用程序的响应速度。在 MySQL 中,全局...

  • 临时表中添加MySQL版本3.23。如果您使用的是旧版本的MySQL比3.23,可以不使用临时表,但可以使用堆表。如前所述临时表将只持续只要的会话是存在的。如果运行一个PHP脚本中的代码,该临时表将被销毁时,会自动执行完脚本后。如果已连接到MySQL数据库的服务器上,通过MySQL的客户端程序的临时表将一直存...

  • 在MySQL中,tmp表默认使用内存中的存储引擎(MEMORY),这样可以提高查询效率。但是,如果存储数据量较大,建议使用别的存储引擎,如MyISAM、InnoDB等。可以根据表的大小和查询需求来选择存储引擎,以充分发挥MySQL的性能优势。3. tmp表的使用范围 在使用tmp表时,需要注意使用范围。tmp表是临时性的,只有...

  • 一、临时表的创建 临时表是在MySQL的用户会话中创建的一张临时表,与普通表不同的是,当会话结束时会自动删除。临时表的创建方式与普通表类似,但需要使用关键字”TEMPORARY”来定义为临时表。以下是一种创建临时表的示例:CREATE TEMPORARY TABLE temp_table (id INT NOT NULL AUTO_...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部