1、临时表
MySQL临时表在我们需要保存一些临时数据时是非常有用的。临时表在MySQL 3.23版本中添加。
临时表中的结构和数据都存放在内存中,用的时候直接使用。
只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。
如果你使用了其他MySQL客户端程序连接MySQL数据库服务器来创建临时表,那么只有在关闭客户端程序时才会销毁临时表,当然你也可以手动销毁。
创建临时表
在MySQL中创建临时表使用CREATE TEMPORARY TABLE语句,其语法格式如下:
CREATE TEMPORARY TABLE [IF NOT EXISTS] 临时表名 ( ... );
示例:创建临时表。
CREATE TEMPORARY TABLE IF NOT EXISTS temp_user ( id INT NOT NULL DEFAULT 0, name VARCHAR(10) NOT NULL );
2、内存表
内存表的表结构建立在磁盘里面,数据放在内存里面;
当MySQL断开当前连接后,临时表的表结构和表数据都没了,但内存表的表结构和表数据都存在;
当MySQL服务重启之后,内存表的数据会丢失,但表结构依旧存。
创建内存表
创建内存表与创建普通表一样,使用CREATE TABLE语句,但需要将存储引擎设置为:ENGINE = MEMORY。其语法格式如下:
CREATE TABLE [IF NOT EXISTS] 内存表名 ( ... ) ENGINE = MEMORY;
示例:创建内存表。
CREATE TABLE IF NOT EXISTS tmp_table ( id INT NOT NULL DEFAULT 0, name VARCHAR(10) NOT NULL ) ENGINE = MEMORY;