MySQL临时表是在当前会话中有效的,当会话结束时,临时表就被自动删除。MySQL临时表有两种类型:全局临时表和局部临时表。全局临时表的名称以“#”开头,而局部临时表的名称以“@”开头。要创建MySQL临时表,需要使用CREATE TEMPORARY TABLE语句,语法格式如下:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (column_name column_type [NULL | NOT NULL] [DEFAULT default_value] [COMMENT 'comment'],...) [table_options] [partition_options]
其中,TEMPORARY关键字用于指定创建的表是临时表,IF NOT EXISTS关键字用于指定如果表不存在时,则创建,tbl_name用于指定表的名称,column_name用于指定列的名称,column_type用于指定列的数据类型,NULL或NOT NULL用于指定列是否允许存储NULL值,DEFAULT用于指定列的默认值,COMMENT用于指定列的注释,table_options用于指定表的选项,partition_options用于指定表的分区选项。下面是一个简单的例子:
CREATE TEMPORARY TABLE IF NOT EXISTS temp_table( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age INT NOT NULL DEFAULT 18 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
上面的语句创建了一个临时表,名称为temp_table,该表中有三个字段,id字段是主键,name字段是字符串类型,不允许存储NULL值,age字段是整数类型,不允许存储NULL值,默认值为18。表的存储引擎是InnoDB,字符集是utf8。
MySQL临时表的创建非常简单,只需要使用CREATE TEMPORARY TABLE语句即可。使用临时表可以有效地提高查询效率,可以减少不必要的数据冗余,提高查询速度,提高系统性能。
本文链接:http://task.lmcjl.com/news/11404.html