通过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" :
只有德国供应商复制到"Customers" :
例
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';
试一试»