如何在MySQL中使用SELECT INTO TEMP表语句?用法解析

2021年11月9日22:08:50 发表评论 1,481 次浏览

如何使用SELECT INTO TEMP语句?有时,我们应该从不同的 MySQL 表中提取数据,我们可以将其用于某些特定目的。为方便起见,我们创建了一个临时表并将所有数据放在那里,以便以后使用。当会话结束时,该表将自行消失,否则它可以使用 DROP 命令删除它。同样,为了创建表的克隆,我们使用语句“SELECT INTO”,它不仅复制所选表的内容,还将所有内容插入到新创建的表中。

在这篇文章中,我们将学习MySQL中使用SELECT INTO TEMP表语句、如何在 MySQL 中使用语句“SELECT INTO TEMP TABLE”以及该语句的工作原理。

什么是SELECT INTO TEMP语句

根据上面的讨论,我们知道语句“SELECT INTO TEMP TABLE”是两个不同语句的组合,它们具有各自独立的功能,通过使用该语句,我们可以使用单个语句执行多个功能。可以使用上述语句执行的功能是:

  • 创建一个新的临时表
  • 克隆现有表
  • 读取其文件
  • 将其所有文件插入到新创建的临时表中

使用此语句的一般语法是:

SELECT * Column1, Column2,....,ColumnN
INTO #destinationForTemporarytable
FROM existing table
WHERE Condition

但是这种语法只适用于SQL,不适用于MySQL,但我们可以通过其他方式在MySQL中获得与上述语句相同的结果,下面是SELECT INTO TEMP语句用法示例

如何使用 MySQL 在临时表中插入数据?

要将数据从任何现有表复制到 MySQL 中的临时表中,我们应该首先创建一个临时表,命名为临时数据,使用子句“TEMPORARY TABLE”并定义表的列。

CREATE TEMPORARY TABLE temporary_Data (ids INT,name VARCHAR(50));
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析

要显示数据库的所有表,请使用:

SHOW TABLES;
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析

如何使用SELECT INTO TEMP语句?创建的表不在表列表中,确认该表是临时表,现在显示临时表,我们使用:

SELECT * FROM temporary_Data;
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析

输出显示“Empty set”,因为表中没有插入数据,但它确认了临时表的存在。要复制具有相同列数的任何现有表的全部数据,我们将首先使用“INSERT INTO”将数据插入到临时表中,然后从我们应该复制数据的位置选择现有表。

一般语法是这样的:

INSERT INTO temporary_tabel_name SELECT * FROM existing table_name;

按照一般语法,我们将从现有的名为 Guys 的表中复制数据到新创建的名为“temporary_data”的临时表中。

INSERT INTO temporary_Data SELECT * FROM  Employee_data;

MySQL中使用SELECT INTO TEMP表语句 - 要显示临时表,

SELECT * FROM temporary_Data;
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析

SELECT INTO TEMP语句用法示例:已将“Employee_data”表的所有数据复制到临时表“temporary_Data”中。现在,如果我们要复制和粘贴特定列的数据,假设我们要将“id”从现有表“Grocery_bill”复制到现有临时表“temporary_Data”的“ids”列,我们将运行以下语句。

INSERT INTO temporary_Data(ids) SELECT id FROM Grocery_bill;
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析

查看临时表:

SELECT * FROM temporary_Data;
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析
MySQL中使用SELECT INTO TEMP表语句

从输出中,我们可以观察到表“Grocey_bill”中的列已被复制并粘贴到临时表的列中,其中“NULL”位于新条目旁边的列中,表明其中没有值。因此,我们可以将整个列以及任何特定列复制到新表中。

我们也可以使用“DROP TEMPORARY TABLE”子句删除临时表,例如,如果我们要删除名为“temporary_Data”的临时表,我们使用:

DROP TEMPORARY TABLE temporary_Data;
如何在MySQL中使用SELECT INTO TEMP表语句?用法解析
SELECT INTO TEMP语句用法示例

临时表已成功删除。

如何使用SELECT INTO TEMP语句?结论

如果我们将所有数据收集在一个临时表中,那么从不同的表中提取不同的数据会稍微容易一些。这篇文章帮助我们理解我们可以使用子句“TEMPORARY TABLE”创建临时表,而且使用MySQL中使用SELECT INTO TEMP表语句可以将整个数据或某些特定列从现有表复制到临时表中。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: