学习 SQL SELECT INTO 语句

前言

  • 使用 SQL,您可以将信息从一个表中复制到另一个表中。
  • SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中。

1.SQL SELECT INTO 语法

需求:我们可以把所有的列都复制到新表中:
SELECT *
INTO newtable [IN externaldb]
FROM table1;
需求:或者只复制希望的列插入到新表中:
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;

SQL SELECT INTO 实例

创建 Customers 的备份复件:
SELECT *
INTO CustomersBackup2013
FROM Customers;
需求 :请使用 IN 子句来复制表到另一个数据库中:
SELECT *
INTO CustomersBackup2013 IN 'Backup.mdb'
FROM Customers;
需求:只复制德国的客户插入到新表中:
SELECT *
INTO CustomersBackup2013
FROM Customers
WHERE Country='Germany';
需求:复制多个表中的数据插入到新表中:
SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2013
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID;

2.INSERT INTO SELECT 语句

  • INSERT INTO SELECT 语句从表中复制数据,并将数据插入现有的表中。
  • 目标表中的任何现有行都不会受到影响。

INSERT INTO SELECT 语法

需求:将所有列从一个表中复制到另一个已经存在的表中:
INSERT INTO table2              
SELECT * FROM table1;    
需求:想要的列复制到另一个现有的表中:
INSERT INTO table2               
(column_name(s))              
SELECT column_name(s)             
FROM table1;  

在这里插入图片描述

INSERT INTO SELECT 实例

需求:把 "Suppliers" 一栏复制到 "Customers" 一栏:
INSERT INTO Customers (CustomerName, Country) 
SELECT SupplierName, Country FROM Suppliers;
需求:只将德国供应商的副本插入 "Customers" :
INSERT INTO Customers (CustomerName, Country) 
SELECT SupplierName, Country FROM Suppliers 
WHERE Country='Germany';

猜你喜欢

转载自blog.csdn.net/xiaolute/article/details/90038076