MySQL 临时表详解
在处理复杂查询或需要暂存中间结果时,临时表是个好帮手。它最大的特点是'用完即焚'——只在当前数据库连接中可见,一旦连接关闭,表和数据都会自动消失,不用担心垃圾堆积。
核心特性
临时表的生命周期绑定在会话(Session)上。比如在 PHP 脚本里跑一段代码创建了临时表,脚本一结束,表就没了。如果你用客户端工具连上去建了表,关掉客户端也就销毁了。当然,你也可以随时手动删掉。
实战演示
这里给出一段通用 SQL 示例,你可以直接嵌入到后端语言的查询逻辑中。注意看,建表语句用的是 CREATE TEMPORARY TABLE。
CREATE TEMPORARY TABLE SalesSummary (
product_name VARCHAR(50) NOT NULL,
total_sales DECIMAL(12,2) DEFAULT 0.00,
avg_unit_price DECIMAL(7,2) DEFAULT 0.00,
total_units_sold INT UNSIGNED DEFAULT 0
);
INSERT INTO SalesSummary VALUES ('cucumber', 100.25, 90, 2);
SELECT * FROM SalesSummary;
执行完 SELECT 能看到刚才插入的数据。但如果你这时候运行 SHOW TABLES,是看不到 SalesSummary 的,因为它不在全局列表里。
清理机制
默认情况下,断开连接后系统会自动清理。如果急着释放资源,或者想提前结束会话,可以用 DROP TABLE 手动删除。
DROP TABLE SalesSummary;
再查一下就会报错提示表不存在了。这种机制特别适合做临时统计,不用操心后续维护。

