1.SELECT INTO
SQL SELECT INTO 语句
使用 SQL,您可以将信息从一个表中复制到另一个表中。
SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中。
SQL SELECT INTO 语句
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
SQL SELECT INTO 语法
我们可以把所有的列都复制到新表中:
SELECT *
INTO newtable [IN externaldb]
FROM table1;
或者只复制希望的列插入到新表中:
SELECT column_name(s)
INTO newtable [IN externaldb]
FROM table1;
提示:将使用SELECT语句中定义的列名和类型创建新表。您可以使用AS子句来应用一个新名称。
SQL SELECT INTO 实例
创建 Customers 的备份复件:
SELECT *
INTO CustomersBackup2013
FROM Customers;
请使用 IN 子句来复制表到另一个数据库中:
SELECT *
INTO CustomersBackup2013 IN 'Backup.mdb'
FROM Customers;
只复制一些列插入到新表中:
SELECT CustomerName, ContactName
INTO CustomersBackup2013
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;
提示:SELECT INTO 语句可以用于在另一种模式下创建一个新的空表。只需添加WHERE子句,使查询返回时没有数据:
SELECT *
INTO newtable
FROM table1
WHERE 1=0;
2.INSERT INTO SELECT
SQL INSERT INTO SELECT 语句
使用SQL,您可以将信息从一个表中复制到另一个表中。
INSERT INTO SELECT 从表中复制数据,并将数据插入现有的表中。
SQL INSERT INTO SELECT 语句
INSERT INTO SELECT 语句从表中复制数据,并将数据插入现有的表中。目标表中的任何现有行都不会受到影响。
SQL INSERT INTO SELECT 语法
我们可以将所有列从一个表中复制到另一个已经存在的表中:
INSERT INTO table2
SELECT * FROM table1;
或者我们可以把想要的列复制到另一个现有的表中:
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
演示数据库
以下是"Customers"表中的数据:
选自 "Suppliers" 表的数据:
SQL INSERT INTO SELECT 实例
把 "Suppliers" 一栏复制到 "Customers" 一栏:
实例
INSERT INTO Customers (姓名, 省份)
SELECT 供应商名称, 省份 FROM Suppliers;
只将上海供应商的副本插入 "Customers" :
实例
INSERT INTO Customers (姓名, 省份)
SELECT 供应商名称, 省份 FROM Suppliers
WHERE 省份='上海市';