最新的Web开发教程
 

SQL INSERT INTO SELECT语句


通过SQL,您可以从一个表中的信息复制到另一个。

从一个表的INSERT INTO SELECT语句复制数据,并将其插入到现有的表中。


该SQL INSERT INTO SELECT语句

INTO SELECT语句插入从一个表中选择数据并将其插入到现有的表。 目标表中的任何现有行不受影响。

SQL INSERT INTO SELECT语法

我们可以从一个表复制所有列到另一个,现有的表:

INSERT INTO table2
SELECT * FROM table1;

或者我们可以只复制我们要到另一个列,现有表:

INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;

演示数据库

在本教程中,我们将使用众所周知的Northwind示例数据库。

下面是从选择"Customers"表:

客户ID 顾客姓名 联系人姓名 地址 邮政编码 国家
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico

而从选择"Suppliers"表:

供应商ID 供应商名称 联系人姓名 地址 邮政编码 国家 电话
1 异国情调的液体 夏洛特·库珀 49吉尔伯特圣 Londona EC1 4SD 联合王国 (171)555-2222
2 新奥尔良印第安趣 雪莱·伯克 邮政信箱78934 新奥尔良 70117 美国 (100)555-4822
3 奶奶凯利的家园 里贾纳·墨菲 707牛津路。 安阿伯 48104 美国 (313)555-5735

SQL 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';
试一试»