MySQL数据库
+ -

MySQL 临时表

2019-09-09 2 0

MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。

临时表在MySQL 3.23版本中添加,如果你的MySQL版本低于3.23版本就无法使用MySQL的临时表。不过现在一般很少有再使用这么低版本的MySQL数据库服务了。

MySQL临时表只在当前连接可见,如果你使用PHP脚本来创建MySQL临时表,那每当PHP脚本执行完成后,该临时表也会自动销毁。

如果你使用了其他MySQL客户端程序连接MySQL数据库服务器来创建临时表,那么只有在关闭客户端程序时才会销毁临时表,当然你也可以手动销毁。

实例

以下展示了使用MySQL 临时表的简单实例,以下的SQL代码可以适用于PHP脚本的mysql_query()函数。

mysql> CREATE TEMPORARY TABLE SalesSummary (
-> product_name VARCHAR(50) NOT NULL
-> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO SalesSummary
-> (product_name, total_sales, avg_unit_price, total_units_sold)
-> VALUES
-> ('cucumber', 100.25, 90, 2);
mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber |  100.25 |  90.00 |2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)

当你使用 SHOW TABLES 命令显示数据表列表时,你将无法看到 SalesSummary表。

如果你退出当前MySQL会话,再使用 SELECT命令来读取原先创建的临时表数据,那你会发现数据库中没有该表的存在,因为在你退出时该临时表已经被销毁了。

删除MySQL 临时表

默认情况下,当你断开与数据库的连接后,临时表就会自动被销毁。当然你也可以在当前MySQL会话使用 DROP TABLE 命令来手动删除临时表。

以下是手动删除临时表的实例:

mysql> CREATE TEMPORARY TABLE SalesSummary (
-> product_name VARCHAR(50) NOT NULL
-> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
-> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
-> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO SalesSummary
-> (product_name, total_sales, avg_unit_price, total_units_sold)
-> VALUES
-> ('cucumber', 100.25, 90, 2);
mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber |  100.25 |  90.00 |2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql> DROP TABLE SalesSummary;
mysql>  SELECT * FROM SalesSummary;
ERROR 1146: Table 'bytekits.SalesSummary' doesn't exist

0 篇笔记 写笔记

Nginx PHP7+MySQL5.7(LNMP)环境配置
在前面几篇文章中,我们已经介绍并演示安装 Nginx的几种方式,在开始本篇文章的阅读和实践之前,建议先阅读”Nginx安装配置”:http://www.bytekits.com/nginx/nginx-install.html ,在上面文章的基础之上,我们再添加 PHP7 的安装配置以及MySQL的......
PHP 删除文件
PHP中,我们可以使用unlink()函数来删除任何文件。 unlink()函数仅接受一个参数:文件名。 它类似于UNIXC的unlink()函数。如果文件未被删除,PHP unlink()会产生E_WARNING级错误。 如果文件被成功删除,则返回TRUE,否则返回FALSE。语法bool un......
PHP 函数不定参数和默认参数
PHP作为一门弱化语言,支持c语言类似的不定参数和可选参数,只是格式书写格式不致,如:不定参数:使用函数fun_num_args()获取参数个数,使用fun_get_args()获取参数,指定索引则获取第内个参数,未指定索引指获取所有参数并生成数组返回。
PHP中,只需要通过几行代码,就能完成上传单个和多个文件的处理。PHP文件上传功能允许上传二进制和文本文件。 此外,您可以通过PHP身份验证和文件操作功能完全控制要上传的文件。PHP $_FILESPHP全局$_FILES包含文件的所有信息。在$_FILES全局变量的帮助下,我们可以得到文件名,文......
PHP mysql_query()函数用于使用order by子句执行select查询将结果集排序。 由于从PHP5.5版本起,不推荐使用mysql_query()函数。 现在,建议使用以下2种替代方法之一。mysqli_query()PDO::__query()order by子句可用于按列升序或......
PHP允许在PHP中使用=>符号将名称/标签与每个数组元素相关联。使用这种方式,可以很容易记住元素,因为每个元素由标号表示一个递增的数字。定义有两种方法来定义关联数组:第一种方式:$salary=array("Hema"=>"550000",&qu......
MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP。 在这些语言中,Mysql在PHP的web开发中是应用最广泛。在本教程中我们大部分实例都采用了 PHP 语言。如果你想了解 Mysql 在 PHP 中的应用,可以访问我们的 PHP教程。PHP提供了多种方式来访问和......
PHP参数化函数是带有参数的函数。 您可以在函数中传递任意数量的参数。 这些传递的参数作为函数中的变量。它们在函数名称之后,在括号内指定。输出取决于作为参数传递到函数中的动态值。PHP参数化示例1 加减法在这个例子中,我们在两个函数add()和sub()中传递了两个参数$x和$y。 文件:para.......
$var(一个美元)是一个正常变量,名称为:var,存储任何值,如:string,integer,float等。$$var(两个美元)是一个引用变量,用于存储$var的值。为了更好地理解$和$$之间的区别,下面来看看一些例子。示例1
自从PHP 5.5以来,mysql_connect()扩展已被弃用。 现在,建议使用以下2种替代方法之一。mysqli_connection()PDO::__ construct()PHP mysqli_connect()函数PHP mysqli_connect()函数用于连接MySQL数据库。 如......
PHP cookie是一个小段信息,存储在客户端浏览器中。它可用于识别用户。Cookie在服务器端创建并保存到客户端浏览器。 每当客户端向服务器发送请求时,cookie都会嵌入请求。 这样,cookie数据信息可以在服务器端接收。总之,可以在服务器端创建,发送和接收cookie。注意: PHP Co......
PHP break语句 中断了当前for,while,do-while,switch和for-each循环的执行。如果在内循环中使用break,它只中断了内循环的执行。语法jump statement; breakbreak语句流程图如下PHP Break:内循环下面来看看一个简单的例子,如果i的......
在本教程我们将讨论 MongoDB 的不同连接方式。启动 MongoDB 服务在前面的教程中,我们已经讨论了如何启动 MongoDB 服务,你只需要在 MongoDB安装目录的 bin 目录下执行 mongodb 即可。执行启动操作后,mongodb 在输出一些必要信息后不会输出任何信息,之后就等待......
MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。临时表在MySQL 3.23版本中添加,如果你的MySQL版本低于3.23版本就无法使用MySQL的临时表。不过现在一般很少有再使用这么低版本的MySQL数据库服务......
自从PHP 4.3起,mysql_create_db()函数已被弃用。 现在,建议使用以下2种替代方法之一。mysqli_query()PDO::__query()PHP MySQLi创建数据库 示例
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!