前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql创建临时表,将查询结果插入已有表中

mysql创建临时表,将查询结果插入已有表中

作者头像
苦咖啡
发布2018-05-07 16:41:40
9.7K0
发布2018-05-07 16:41:40
举报
文章被收录于专栏:我的博客我的博客我的博客

        今天遇到一个很棘手的问题,想临时存起来一部分数据,然后再读取。我记得学数据库理论课老师说可以创建临时表,不知道mysql有没有这样的功能呢?临时表在内存之中,读取速度应该比视图快一些。然后还需要将查询的结果存储到临时表中。下面是创建临时表以及插入数据的例子,以供大家参考。

A、临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但是这只限于用下面语句建立的表: 1)定义字段   CREATE TEMPORARY TABLE tmp_table (       name VARCHAR(10) NOT NULL,        time date  NOT NULL   ) 更高级点就是: create temporary  TABLE `temtable` (   `jws` varchar(100) character set utf8 collate utf8_bin NOT NULL,   `tzlb` varchar(100) character set utf8 collate utf8_bin NOT NULL,   `uptime` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1″ 连编码方式都规定了。。呵呵,以防乱码啊。

2)直接将查询结果导入临时表   CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name

B、另外mysql也允许你在内存中直接创建临时表,因为是在内存中所有速度会很快,语法如下:   CREATE TEMPORARY TABLE tmp_table (      name VARCHAR(10) NOT NULL,      value INTEGER NOT NULL   ) TYPE = HEAP

那如何将查询的结果存入已有的表呢?

1、可以使用A中第二个方法

2、使用insert into temtable (select a,b,c,d from tablea)”;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011年8月9日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档