mysql临时表(temporary table)详解

提示:mysql临时表的创建、使用、作用:1.临时表是一张表,用来临时保存一些数据。它只对创建它的会话可见。当会话结束时,MySQL自动删除临时表(表结构和表数据库),并且临时表不会存进mysql中。2.会话可以创建一个和已有的普通表名字相同的临时表。在这种情况下,该会话只能看到临时表而 看不见同名的普通表。当临时表被删除后,才可以看到普通表


概述

***1. 作用:临时表用来保存一些 '临时数据'
2. 注意:
   (1) 临时表只在 '当前连接' 可见,当关闭连接时,Mysql 会 '自动删除表数据及表结构'
   (2) 临时表 和 普通表 用法一样,用关键字 'temporary' 予以区别***

临时表

1、创建一个临时表 test

命令:

创建临时表test,保存所有ID信息

CREATE TEMPORARY TABLE test(
  id  int(2)
); 

运行结果:l临时表test创建成功
在这里插入图片描述

INSERT INTO test values (10);  

运行结果:添加数据成功
在这里插入图片描述

select * from test 

运行结果:临时表中数据查询成功
在这里插入图片描述
使用命令查看数据库中是否存在创建的临时表:

show tables

在这里插入图片描述
**总结:临时表是一张表,用来临时保存一些数据。它只对创建它的会话可见。当会话结束时,MySQL自动删除临时表(表结构和表数据库),并且临时表不会存进mysql中**


2、使用相同的名字创建一个普通表和临时表

会话可以创建一个和已有的普通表名字相同的临时表。在这种情况下,该会话只能看到临时表而
看不见同名的普通表。当临时表被删除后,才可以看到普通表

2、1创建普通表;

CREATE TABLE testable (c1  INT);

INSERT INTO testable VALUES(1);

在这里插入图片描述
创建的普通表已经存在,表结构,表数据都可以正常查询。


2、2 创建与普通表相同的临时表;

CREATE TEMPORARY TABLE testable(c1  INT,c2 INT);

INSERT INTO testable VALUES(4,10);

SELECT * FROM testable;

在这里插入图片描述

与普通表名称相同的临时表创建成功,查询返回的表结构、表数据都是临时表的结果,普通表的信息无返回结果,
删除临时表,普通表的才能恢复正常:

在这里插入图片描述
删除临时表,此时查询返回的结果就是普通表的信息

总结:会话可以创建一个和已有的普通表名字相同的临时表。在这种情况下,该会话只能看到临时表而 看不见同名的普通表。当临时表被删除后,才可以看到普通表

总结:1.临时表是一张表,用来临时保存一些数据。它只对创建它的会话可见。当会话结束时,MySQL自动删除临时表(表结构和表数据库),并且临时表不会存进mysql中。2.会话可以创建一个和已有的普通表名字相同的临时表。在这种情况下,该会话只能看到临时表而 看不见同名的普通表。当临时表被删除后,才可以看到普通表`

猜你喜欢

转载自blog.csdn.net/m0_67929156/article/details/131629388