这篇文章主要介绍“mysql的临时表有哪几种”,在日常操作中,相信很多人在mysql的临时表有哪几种问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql的临时表有哪几种”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
mysql临时表分为两种,一种是使用create temporary table创建的,称为为外部临时表(本文不加说明的情况下,临时表默认指的是外部临时表),一种是因union、order by、group by、distinct等语句产生的,称为内部临时表。
1、创建临时表语法create temporary table table_name (column1 type,column1 type,...columnX type);
2、临时表只对当前用户可见,当前会话结束的时候,该临时表会自动删除,和oracle不一样,oracle只是数据删除,临时表这个表结构永远存在。
3、一个会话内,临时表的命名与非临时表可以同名,一个会话内一旦出现同名的临时表,则非临时表对当前会话不可见,任何操作都是在临时表上进行(show create table table_name、dml、ddl),直到临时表被删除。
4、show tables命令不显示临时表
5、不同的会话可以创建同名的临时表,比如会话A可以创建临时表名temp1,会话B也可以同时创建临时表名temp1
6、临时表的表结构存放在tmpdir参数对应的目录下,命名为#sqlc进程号_线程号_序号.frm,例如#sqlc19_7_0.frm、#sqlc19_7_1.frm分别表示7号线程下的第一个临时表、第二个临时表
到此,关于“mysql的临时表有哪几种”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!