MySQL中关于临时表的一些基本使用方法

 我来答
掌碧奇以
2020-04-30 · TA获得超过3762个赞
知道大有可为答主
回答量:3160
采纳率:32%
帮助的人:194万
展开全部
临时表可能是非常有用的,在某些情况下,保持临时数据。最重要的是应该知道的临时表是,他们将当前的客户端会话终止时被删除。
临时表中添加MySQL版本3.23。如果您使用的是旧版本的MySQL比3.23,可以不使用临时表,但可以使用堆表。
如前所述临时表将只持续只要的会话是存在的。如果运行一个PHP脚本中的代码,该临时表将被销毁时,会自动执行完脚本后。如果已连接到MySQL数据库的服务器上,通过MySQL的客户端程序的临时表将一直存在,直到关闭客户端或手动破坏的表。
实例
下面是一个例子,使用临时表在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命令,那么临时表将不会被列在列表中。现在如果将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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式