首页 数据库 mysql教程 MySQL临时表中的Sql代码示例

MySQL临时表中的Sql代码示例

Jun 07, 2016 pm 04:13 PM
mysql sql 主要 代码 文章 示例

下面的文章主要讲述的是MySQL临时表具体使用的详细讲解,我们大家都知道当工作在十分大表上运行时,在实际操作中你可能会需要运行很多的相关查询,来获的一个大量数据的小的子集,不是对整个表运行这些查询。 而是让MySQL每次找出所需的少数记录,将记录选择

下面的文章主要讲述的是MySQL临时表具体使用的详细讲解,我们大家都知道当工作在十分大表上运行时,在实际操作中你可能会需要运行很多的相关查询,来获的一个大量数据的小的子集,不是对整个表运行这些查询。

而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后多这些表运行查询。

创建MySQL临时表很容易,给正常的CREATE TABLE语句加上TEMPORARY关键字:

Sql代码

<ol class="dp-xml">
<li class="alt"><span><span>CREATE TEMPORARY TABLE tmp_table (   </span></span></li>
<li><span>name VARCHAR(10) NOT NULL,   </span></li>
<li class="alt"><span>value INTEGER NOT NULL   </span></li>
<li><span>)   </span></li>
<li class="alt"><span>CREATE TEMPORARY TABLE tmp_table (  </span></li>
<li><span>name VARCHAR(10) NOT NULL,  </span></li>
<li class="alt"><span>value INTEGER NOT NULL  </span></li>
<li><span>)  </span></li>
</ol>
登录后复制

临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空间。

<ol class="dp-xml"><li class="alt"><span><span>DROP TABLE tmp_table </span></span></li></ol>
登录后复制

如果在你创建名为tmp_table临时表时名为tmp_table的表在数据库中已经存在,MySQL临时表将有必要屏蔽(隐藏)非临时表tmp_table。

如果你声明临时表是一个HEAP表,MySQL也允许你指定在内存中创建它:

Sql代码

<ol class="dp-xml">
<li class="alt"><span><span>CREATE TEMPORARY TABLE tmp_table (   </span></span></li>
<li><span>name VARCHAR(10) NOT NULL,   </span></li>
<li class="alt"><span>value INTEGER NOT NULL   </span></li>
<li>
<span>) </span><span class="attribute">TYPE</span><span> = </span><span class="attribute-value">HEAP</span><span>   </span>
</li>
<li class="alt"><span>CREATE TEMPORARY TABLE tmp_table (  </span></li>
<li><span>name VARCHAR(10) NOT NULL,  </span></li>
<li class="alt"><span>value INTEGER NOT NULL  </span></li>
<li>
<span>) </span><span class="attribute">TYPE</span><span> = </span><span class="attribute-value">HEAP</span><span> </span>
</li>
</ol>
登录后复制

因为HEAP表存储在内存中,你对它运行的查询可能比磁盘上的临时表快些。然而,HEAP表与一般的表有些不同,且有自身的限制。详见MySQL参考手册。

正如前面的建议,你应该测试临时表看看它们是否真的比对大量数据库运行查询快。如果数据很好地索引,临时表可能一点不快。

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

1)定义字段

<ol class="dp-xml">
<li class="alt"><span><span>CREATE TEMPORARY TABLE tmp_table (   </span></span></li>
<li><span>name VARCHAR(10) NOT NULL,   </span></li>
<li class="alt"><span>value INTEGER NOT NULL   </span></li>
<li><span>) </span></li>
</ol>
登录后复制

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

CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name

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

<ol class="dp-xml">
<li class="alt"><span><span>CREATE TEMPORARY TABLE tmp_table (   </span></span></li>
<li><span>name VARCHAR(10) NOT NULL,   </span></li>
<li class="alt"><span>value INTEGER NOT NULL   </span></li>
<li>
<span>) </span><span class="attribute">TYPE</span><span> = </span><span class="attribute-value">HEAP</span><span>  </span>
</li>
</ol>
登录后复制

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

【编辑推荐】


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
MySQL和PhpMyAdmin:核心功能和功能 MySQL和PhpMyAdmin:核心功能和功能 Apr 22, 2025 am 12:12 AM

MySQL和phpMyAdmin是强大的数据库管理工具。1)MySQL用于创建数据库和表、执行DML和SQL查询。2)phpMyAdmin提供直观界面进行数据库管理、表结构管理、数据操作和用户权限管理。

MySQL与其他编程语言:一种比较 MySQL与其他编程语言:一种比较 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

在MySQL中解释外键的目的。 在MySQL中解释外键的目的。 Apr 25, 2025 am 12:17 AM

在MySQL中,外键的作用是建立表与表之间的关系,确保数据的一致性和完整性。外键通过引用完整性检查和级联操作维护数据的有效性,使用时需注意性能优化和避免常见错误。

比较和对比Mysql和Mariadb。 比较和对比Mysql和Mariadb。 Apr 26, 2025 am 12:08 AM

MySQL和MariaDB的主要区别在于性能、功能和许可证:1.MySQL由Oracle开发,MariaDB是其分支。2.MariaDB在高负载环境中性能可能更好。3.MariaDB提供了更多的存储引擎和功能。4.MySQL采用双重许可证,MariaDB完全开源。选择时应考虑现有基础设施、性能需求、功能需求和许可证成本。

SQL与MySQL:澄清两者之间的关系 SQL与MySQL:澄清两者之间的关系 Apr 24, 2025 am 12:02 AM

SQL是一种用于管理关系数据库的标准语言,而MySQL是一个使用SQL的数据库管理系统。SQL定义了与数据库交互的方式,包括CRUD操作,而MySQL实现了SQL标准并提供了额外的功能,如存储过程和触发器。

yi框架用什么软件比较好 yi框架使用软件推荐 yi框架用什么软件比较好 yi框架使用软件推荐 Apr 18, 2025 pm 11:03 PM

文章首段摘要:在选择开发 Yi 框架应用程序的软件时,需要考虑多个因素。虽然原生移动应用程序开发工具(如 XCode 和 Android Studio)可以提供强大的控制和灵活性,但跨平台框架(如 React Native 和 Flutter)凭借其编写一次,即可部署到多个平台的优点而越来越受欢迎。对于刚接触移动开发的开发者,低代码或无代码平台(如 AppSheet 和 Glide)可以快速轻松地构建应用程序。另外,云服务提供商(如 AWS Amplify 和 Firebase)提供了全面的工具

MySQL:数据库,PHPMYADMIN:管理接口 MySQL:数据库,PHPMYADMIN:管理接口 Apr 29, 2025 am 12:44 AM

MySQL和phpMyAdmin可以通过以下步骤进行有效管理:1.创建和删除数据库:在phpMyAdmin中点击几下即可完成。2.管理表:可以创建表、修改结构、添加索引。3.数据操作:支持插入、更新、删除数据和执行SQL查询。4.导入导出数据:支持SQL、CSV、XML等格式。5.优化和监控:使用OPTIMIZETABLE命令优化表,并利用查询分析器和监控工具解决性能问题。

如何安全地将包含函数和正则表达式的JavaScript对象存储到数据库并恢复? 如何安全地将包含函数和正则表达式的JavaScript对象存储到数据库并恢复? Apr 19, 2025 pm 11:09 PM

安全地处理JSON中的函数和正则表达式在前端开发中,经常需要将JavaScript...

See all articles