SQL 入门教程:从一个表复制到另一个表(CREATE SELECT)

本文内容

目录汇总:SQL 零基础入门教程

有一种数据插入不使用 INSERT 语句。要将一个表的内容复制到一个全新的表(运行中创建的表),可以使用 CREATE SELECT 语句(或者在 SQL Server 里也可用 SELECT INTO 语句)。

说明:DB2 不支持

DB2 不支持这里描述的 CREATE SELECT

INSERT SELECT 将数据添加到一个已经存在的表不同,CREATE SELECT 将数据复制到一个新表(有的 DBMS 可以覆盖已经存在的表,这依赖于所使用的具体 DBMS)。

下面的例子说明如何使用 CREATE SELECT

输入▼

1
CREATE TABLE CustCopy AS SELECT * FROM Customers;

若是使用 SQL Server,可以这么写:

输入▼

1
SELECT * INTO CustCopy FROM Customers;

分析▼

这条 SELECT 语句 创建一个名为 CustCopy 的新表,并把 Customers 表的整个内容复制到新表中。因为这里使用的是 SELECT *,所以将在 CustCopy 表中创建(并填充)与 Customers 表的每一列相同的列。要想只复制部分的列,可以明确给出列名,而不是使用 * 通配符。

在使用 SELECT INTO 时,需要知道一些事情:

  • 任何 SELECT 选项和子句都可以使用,包括 WHEREGROUP BY
  • 可利用 联结 从多个表插入数据;
  • 不管从多少个表中检索数据,数据都只能插入到一个表中。

提示:进行表的复制

SELECT INTO 是试验新 SQL 语句前进行表复制的很好工具。先进行复制,可在复制的数据上测试 SQL 代码,而不会影响实际的数据。

说明:更多例子

如果想看 INSERT 用法的更多例子,请参阅 样例表脚本 中给出的样例表填充脚本。

请参阅

(完)

comments powered by Disqus

本文内容