mysql临时表更新_MySql 临时表

今天在项目中遇到一个,当mysql的in语句中数据量很大时,建立一个临时表的例子。于是楼主整理了一下关于临时表的知识,与大家分享一下~

首先,临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。因此在不同的连接中可以创建同名的临时表,并且操作属于本连接的临时表。

建立临时表:

CREATE TEMPORARY  TABLE temp_table (

id VARCHAR(32) NOT NULL,

NAME VARCHAR(100)

) ENGINE = MEMORY

注意最后面的ENGINE = MEMORY,其中ENGINE是数据库搜索引擎,常用的几种类型为MyISAM, MEMORY, InnoDB

1)MyISAM 管理非事物表。提供高速存储和检索,以及全文搜索能力

2)MEMORY存储引擎提供“内存中”表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表

注释:MEMORY存储引擎正式地被确定为HEAP引擎。

3)InnoDB和存储引擎提供事务安全表。这是默认的数据库表存储引擎

当然还有一种简单粗暴的方式建立临时表,直接将查询结果导入到临时表:

CREATE TEMPORARY  TABLE temp_table

ENGINE = MEMORY

SELECT * FROM `bm_sc_settlement`

创建临时表后,我们插入数据

INSERT INTO temp_table VALUES('1', 'a');

INSERT INT

你可能感兴趣的:(mysql临时表更新)