MySQL临时表存在吗?(mysql临时表是否存在)
MySQL临时表的存在
MySQL数据库的临时表是一种常用的技术,由于它的好用性和功能,成为数据库中常用的一种数据类型。那么MySQL临时表存在吗?答案当然是肯定的。
MySQL中有两种临时表:
第一种临时表叫“本地临时表”,它仅仅只存在于当前会话中,一旦当前会话关闭,该表就会被删除,不影响其他会话。本地临时表的定义也可以使用CREATE TEMPORARY TABLE语句,其格式如下:
CREATE TEMPORARY TABLE [表名]([字段列表])
第二种临时表叫做“全局临时表”,全局临时表的表名以#开头,而且它的定义是全局的,存在于当前数据库服务器上,多个会话可以共享。全局临时表通过CREATE GLOBAL TEMPORARY TABLE语句定义,其格式如下:
CREATE GLOBAL TEMPORARY TABLE [表名]([字段列表])ON COMMIT [PRESERVE | DELETE] ROWS
当使用全局临时表时,还需要使用ON COMMITE命令,来指定提交事务后数据的行为。用PRESERVE ROWS可以指定提交事务之后不要删除数据,用DELETE ROWS可以指定提交事务之后要删除数据。
由于临时表的特殊性,它易受数据库管理的影响,有的数据库管理系统可能忽略对它的管理,或者要求使用临时表时,要进行特殊的表定义,例如在全局临时表中规定表名以#开头。
总而言之,MySQL数据库的临时表是存在的,包括本地临时表和全局临时表。使用临时表时,要注意其使用条件和不同管理数据库系统对临时表的规定。