当你创建临时表的时候,你可以使用temporary关键字。如:

create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)‘

CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_tmp ENGINE = MEMORY SELECT …from … where ID=current_id;

临时表只在当前连接可见,当这个连接关闭的时候,会自动drop。这就意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会冲突,或者使用

已经存在的表,但不是临时表的表名。(当这个临时表存在的时候,存在的表被隐藏了,如果临时表被drop,存在的表就可见了)。创建临时表你必须有

create temporary table 权限。

下面几点是临时表的限制:

临时表只能用在 memory,myisam,merge,或者innodb

临时表不支持mysql cluster(簇)

在同一个query语句中,你只能查找一次临时表。例如:下面的就不可用

mysql> SELECT * FROM temp_table, temp_table AS t2;

ERROR 1137: Can't reopen table: 'temp_table'

如果在一个存储函数里,你用不同的别名查找一个临时表多次,或者在这个存储函数里用不同的语句查找,这个错误都会发生。

show tables 语句不会列举临时表

你不能用rename来重命名一个临时表。但是,你可以alter table代替:

mysql>ALTER TABLE orig_name RENAME new_name;

临时表用完后要记得drop掉:

DROP TEMPORARY TABLE IF EXISTS sp_output_tmp;

附加:

1、临时表再断开于mysql的连接后系统会自动删除临时表中的数据,但是这只限于用下面语句建立的表:

1)定义字段

CREATE TEMPORARY TABLEtmp_table (

name VARCHAR(10) NOT NULL,

value INTEGER NOT NULL)

2)直接将查询结果导入临时表

CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name

2、另外mysql也允许你在内存中直接创建临时表,因为是在内存中所有速度会很快,语法如下:

CREATE TEMPORARY TABLEtmp_table (

name VARCHAR(10) NOT NULL,

value INTEGER NOT NULL) TYPE = HEAP

3、从上面的分析可以看出临时表的数据是会被清空的,你断开了连接就会被自动清空,但是你程序中不可能每发行一次sql就连接一次数据库吧(如果是 这样的话,那就会出现你担心的问题,如果不是就没有问题),因为只有断开数据库连接才会被清空数据,在一个数据库连接里面发行多次sql的话系统是不会自 动清空临时表数据的。

转自:http://www.cnblogs.com/thinksasa/archive/2013/05/08/3067170.html

mysql中临时字段_MySQL临时表相关推荐

  1. MySQL中查询字段为空或者为null方法

    MySQL中查询字段为空或者为null方法 判断为null select * from table where column is null; 不为null: select * from table ...

  2. mysql栏的范围外值,MySQL中各种字段的取值范围-数据库专栏,MySQL

    mysql中各种字段的取值范围过节回来,网站更新的第一篇文章. 看来我有必要在最近找到一位志同道合的同学一起来维护站点才行了----------------------tinyint -128 – 1 ...

  3. mysql中判断字段为空

    mysql中判断字段为null或者不为null 在mysql中,查询某字段为空时,切记不可用 = null, 而是 is null,不为空则是 is not null select nulcolumn ...

  4. mysql中的字段类型

    Mysql中的字段类型 MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类 ...

  5. mysql join 索引 无效_ORACLE MYSQL中join 字段类型不同索引失效的情况-阿里云开发者社区...

    ORACLE MYSQL中join 字段类型不同索引失效的情况 重庆八怪 2016-12-29 780浏览量 简介: 关于JOIN使用不同类型的字段类型,数据库可能进行隐士转换,MYSQL ORACL ...

  6. mysql 取substring_如何在MySQL中的字段上应用Substring()以获取字符串的一部分?

    您可以使用substring()MySQL中的字段来获取字符串的一部分.以下是语法-select substring(yourColumnName,yourStartingIndex,yourEndi ...

  7. mysql中数据库字段类型详解

    mysql中数据库字段类型详解 1,blob字段 mysql中blob是一个二进制大型对象,是一个可以储存大量数据的容器,它能容纳不同大小的数据. mysql中blob的四种类型除了存储数据的大小有区 ...

  8. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  9. mysql union 不同字段_mysql中union和union all的区别和注意点

    mysql中union和union all的区别和注意点 昨天有个功能要实现排行效果,而且是随机按照某些字段的总值,但是第一个又要不一样,因为第一个人给了钱,所以要排第一. 打个比方吧,表(useri ...

  10. mysql中数据库字段类型长度_Mysql数据库字段数据类型、长度详解

    一.数值类型 列类型 需要的存储量 TINYINT 1 字节 SMALLINT 2 个字节 MEDIUMINT 3 个字节 INT 4 个字节 INTEGER 4 个字节 BIGINT 8 个字节 F ...

最新文章

  1. C++ 对象的声明与引用
  2. sqlrelay mysql_数据库连接池SQL Relay安装使用-Java架构师必看
  3. ali arthas 火焰图_带你上手阿里开源的 Java 诊断利器:Arthas
  4. 2018/7/11-纪中某C组题【jzoj1293,jzoj1294,jzoj1295】
  5. 阿卡接口_阿卡vs风暴
  6. 回归的误差服从正态分布吗_盘点10大回归类型:总有一款深得你心
  7. 学习笔记-JMeter 进行接口压力测试
  8. 平板电脑安装软件_下载适用于华为和荣耀手机平板电脑的Googlefier GMS安装程序...
  9. Netty实现长连接简单例子
  10. 必须放在特定的文件夹中才能运行的Python程序
  11. 自己实现一个SQL解析引擎
  12. daemon守护进程初识
  13. 关于webapp的一点思考
  14. android点击禁止获取权限,Android 6 Permissions =禁用权限时崩溃并返回应用程序
  15. 盖世神器PowerPro使用视频教程-1. 程序的安装概述
  16. 伪元素学习包含::before、::after的用法
  17. icp相关数学,向量模的平方转换成矩阵相乘
  18. 我的CTF之旅(四)
  19. AI模型训练无需购买设备啦!Tesar超算网络让AI模型训练更便捷!
  20. webpack工具链热替换 -- angularjs的粗放式实现

热门文章

  1. 李开复写给中国大学生的信
  2. 【Android安全】Oneplus 5T 救砖 刷机 root并通过SafetyNet Attestation检测
  3. 13个测试网站访问速度的服务网站
  4. NoClassDefFoundError: Could not initialize class
  5. 如何区分杠精和批判性思维
  6. fig r函数_R语言图形函数par()参数应用举例.pdf
  7. 人工智能、机器学习、深度学习 三者关系
  8. 关于Webgl实际中遇到的一些坑,与大家分享。
  9. 平均值 几何平均数 算术平均数 调和平均数 平方平均数
  10. 花几千块钱,线上培训软件测试有用吗?