SQL SELECT INTO 语句
SQL SELECT INTO 语句
SELECT INTO 语句用于创建新表,并用现有表中的数据填充它。
SELECT INTO 语句对于创建备份或创建用于分析的临时表非常有用。
注意:新表将使用与源表中定义的相同列名和数据类型创建。但是,主键、索引或 NOT NULL 约束不会自动转移。
SELECT INTO 语法
复制所有列到新表中:
SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE condition;
只复制一些列到新表中:
SELECT column1, column2, column3, ... INTO newtable [IN externaldb] FROM oldtable WHERE condition;
SQL SELECT INTO 实例
下面的 SQL 语句创建了 Customers 的一个备份副本:
SELECT * INTO CustomersBackup2017 FROM Customers;
下面的 SQL 语句使用了 IN 子句将表复制到另一个数据库的新表中:
SELECT * INTO CustomersBackup2017 IN 'Backup.mdb' FROM Customers;
下面的 SQL 语句只复制几个列到新表中:
SELECT CustomerName, ContactName INTO CustomersBackup2017 FROM Customers;
下面的 SQL 语句只复制德国的客户到新表中:
SELECT * INTO CustomersGermany FROM Customers WHERE Country = 'Germany';
下面的 SQL 语句从多于一个表中复制数据到新表中:
SELECT Customers.CustomerName, Orders.OrderID INTO CustomersOrderBackup2017 FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
提示:SELECT INTO 还可以用于使用一个表的模式创建一个新的空表。只需要添加一个导致查询没有返回数据的 WHERE 子句即可:
SELECT * INTO newtable FROM oldtable WHERE 1 = 0;