加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

什么是临时表?

发布时间:2023-10-26 15:06:19 所属栏目:MsSql教程 来源:转载
导读: 什么是临时表?
有RDBMS,它支持临时表。临时表是一个很好的功能,可以通过使用与典型SQL Server表一起使用的相同选择,更新和连接功能来存储和处理中间结果。
临时表在某些情况下可能非常

什么是临时表?

有RDBMS,它支持临时表。临时表是一个很好的功能,可以通过使用与典型SQL Server表一起使用的相同选择,更新和连接功能来存储和处理中间结果。

临时表在某些情况下可能非常有用,以保留临时数据。临时表应该知道的最重要的事情是当当前客户端会话终止时它们将被删除。

MySQL 3.13版本中提供了临时表。如果您使用的旧版本的MySQL比3.23,您不能使用临时表,但您可以使用堆表。

如前所述,临时表只会持续会话活动。如果您在PHP脚本中运行代码,则当脚本执行完毕时,临时表将自动销毁。如果您通过MySQL客户端程序连接到MySQL数据库服务器mssql 临时表,则临时表将存在,直到您关闭客户端或手动销毁该表。

这是一个示例,显示临时表的用法。

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命令时,您的临时表将不会在列表中列出。现在,如果您退出MySQL会话,然后发出SELECT命令,您将发现数据库中没有可用的数据。即使你的临时表也不存在。

删除临时表

默认情况下,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 "TUTORIALS.SALESSUMMARY" doesn"t exist

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章