SQL“Select Into”语句用法教程

SQL提供了不同的语句,以便选择Oracle、MySQL、PostgreSQL等各种数据库服务器中的现有表、变量、临时表。在本教程中,我们将研究如何使用 Select Into 不同情况下的SQL语句。

null

语法

Select Into语句语法与Select语法相同。我们只需要一个 INTO 之间 SELECT FROM . 我们也可以使用 WHERE 语句以筛选行。

SELECT columns INTO newtable [IN externaldb] FROM oldtable WHERE condition;
  • columns 指定要复制的旧表中的列。我们也可以使用 * 按顺序指定所有列。
  • newtable 是我们要创建或复制的新表。
  • externaldb 是可选的。如果要从另一个或外部数据库复制,则可以使用。
  • oldtable 是我们要从中复制的表。
  • condition 如果要筛选或指定要复制的数据,可以使用。这与常规用法是一样的。

将所有列复制到新表中

我们将从一个简单的通用示例开始。我们将从名为 customer 转换为表名 allcustomers .

SELECT * INTO allcustomers FROM customers;

将指定列复制到新表中

我们还可以指定要添加到新表中的列。在本例中,我们将复制名为 id , name 从表 customer 放入名为 allcustomers

SELECT id,name INTO allcustomers FROM customers;

创建表的备份副本

另一个有用的场景 Select Into 语句正在通过复制另一个表来创建一个表的备份。我们将创建名为 customers 名字是 cusotmersbackup

SELECT * INTO customersbackup FROM customers;

从另一个数据库复制表

的默认行为 Select Into 语句复制当前数据库中的表。如果我们需要将表复制到新的数据库中,我们需要使用 In 声明。在本例中,我们将复制名为 customers 进入新数据库 newdb 使用表名 newcustomers .

SELECT * INTO newcustomers IN 'newdb' FROM customers;

仅将指定的行复制到新表中

如前所述,我们只能复制指定或筛选的行 Select Into . 我们将使用 WHERE 带有我们要应用的条件的条款。在本例中,我们将使用 Country Turkey 从表 customers 进入新表 allcustomers .

SELECT * INTO allcustomers FROM customers WHERE Country='Turkey';

从多个(多个)表复制到新表中

我们可以用 JOIN SELECT INTO . 这将使我们能够从多个表复制到新表中。在本例中,我们将从表中复制 customers deals 进入之内 customer_deal 带的表格 LEFT JOIN customerid

SELECT customers.name,deals.dealid INTO customer_deal FROM customers LEFT JOIN deal ON customers.customerid = deals.customerid;

创建新的空表

另一个有用的用例是使用给定的表结构和列创建新的空表。我们将使用标准语法和过滤器 5=1 它总是false,并且不从源表复制任何数据。在本例中,我们将创建一个新表 allcustomer 从表 customers .

SELECT * INTO allcustomers FROM customers WHERE 5=1;

相关文章: 如何在Bash中提示输入

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享