SQL SELECT INTO 语句

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

SQL SELECT INTO 语句
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

注意:
MySQL 数据库不支持 SELECT … INTO 语句,但支持 INSERT INTO … SELECT 。
当然你可以使用以下语句来拷贝表结构及数据:

CREATE TABLE 新表
AS
SELECT * FROM 旧表

SQL SELECT INTO 语法
假设有一个名为 employees 的表,包含以下数据:
EmployeeIDFirstNameLastNameAgeDepartment1JohnDoe30Sales2JaneSmith25HR3SamBrown28IT要创建一个名为 employees_backup 的新表,并将 employees 表中的所有数据插入到新表中,可以使用以下 SQL 语句:
SELECT *
INTO employees_backup
FROM employees;执行此语句后,新的 employees_backup 表将仅包含年龄大于 25 岁的员工的数据。
SELECT EmployeeID, FirstName, LastName, Age, Department
INTO employees_backup
FROM employees
WHERE Age > 25;执行此语句后,新的 employees_backup 表将仅包含年龄大于 25 岁的员工的数据。
使用注意事项
表结构:

SELECT INTO 会创建一个新表,并且新表的结构将基于选择的列和数据类型。
如果新表已经存在,SELECT INTO 语句将失败。在这种情况下,可以使用 INSERT INTO … SELECT 语句。

数据库支持:

SELECT INTO 语句在 SQL Server 中非常常用,但在 MySQL 和 PostgreSQL 中通常使用 CREATE TABLE … AS SELECT 语句。

在其他数据库中的替代方案
MySQL 和 PostgreSQL
在 MySQL 和 PostgreSQL 中,可以使用 CREATE TABLE … AS SELECT 来实现类似的功能:
CREATE TABLE employees_backup AS
SELECT EmployeeID, FirstName, LastName, Age, Department
FROM employees
WHERE Age > 25;