SQL从一个表复制到另一个表

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

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

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

    CREATE TABLE CustCopy AS SELECT * FROM Customers;

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

    SELECT * INTO CustCopy FROM Customers;

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

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

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

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

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!

 

SQL教程