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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。