暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mysql 如何创建一张临时表

NIU技术那点事 2020-06-09
1335


mysql 利用 temporary 关键字就可以创建出一个临时表。创建的这张表会在与服务器的会话终止时自动消失

语法:create temporary table tmp_name...;

规则:每个会话只能看到自己创建的临时表,不同的会话可以创建相同表名称的临时表。临时表的表名可以和永久表的名字相同

好处可以利用临时表保存一些临时数据,断开会话自动清除数据

坏处1.与服务器意外断开会话,临时表将被删除。

     2.临时表只对创建会话可见,所以和线程池连接技术不能同时共用

      3.可能会跟永久表冲突,导致重连之后误操作永久表种的数据。为了避免删除相同表明的永久表,执行删除表结构的时候可以使用drop temporary table_name (可直接删临时表);

注意drop table 表名;(默认先删临时表,如果临时表存在删掉,不会再去找永久表删除;如临时表不在,才会去查找永久表,假如永久表存在,删掉。)

 

-- 删表,一次只能删一张表,默认是先临时表

drop table tmp_a;

-- 创建一个临时表

create temporary table tmp_a (

id int primary key,

name varchar(20)

)Engine=InnoDB default charset utf8;

-- 创建一个表

create table tmp_a (

id int primary key,

name varchar(20)

)Engine=InnoDB default charset utf8;

 

show tables where tables_in_hydb='tmp_a';

注意:临时表创建完成,用show tables 看不见。

关注我们,精彩属于你

文章转载自NIU技术那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论