📅  最后修改于: 2023-12-03 15:23:19.546000             🧑  作者: Mango
在 SQL Server 中,有时候我们需要将一个数据库中的某个表复制到另外一个数据库中,这时候可以使用以下方法来实现:
使用 SELECT INTO 语句可以从一个表中选取数据并创建一个新表。在此过程中,新表将从旧表中获取数据。
SELECT *
INTO NewTable
FROM SourceDB.dbo.SourceTable
其中,NewTable
为新表的名称,SourceDB.dbo.SourceTable
为旧表的名称。
此方法适用于在目标数据库中创建一个新表,然后将数据从源数据库中拷贝过来的情况,但是不适用于复制表结构。
使用 SELECT INTO EXISTING 语句可以将一个表中的数据复制到已经存在的另一个表中。
INSERT INTO DestinationTable
SELECT * FROM SourceDB.dbo.SourceTable
其中,DestinationTable
为目标表的名称,SourceDB.dbo.SourceTable
为源表的名称。
此方法适用于复制表中的数据到已有表中,但是不适用于复制表结构。
使用 SELECT INTO WITH NO DATA 语句可以创建一个与源表类似的空表。
SELECT *
INTO NewTable
FROM SourceDB.dbo.SourceTable
WHERE 1=0
其中,NewTable
为新表的名称,SourceDB.dbo.SourceTable
为旧表的名称。
此方法适用于复制表结构,但不会将数据复制到目标表。
使用 CREATE TABLE 语句可以创建一个与源表结构相同的新表。
CREATE TABLE NewTable
(
Col1 datatype [ NULL | NOT NULL ],
Col2 datatype [ NULL | NOT NULL ],
...
)
其中,NewTable
为新表的名称,datatype
为数据类型。
此方法适用于仅仅需要复制表结构,不需要复制数据的情况。
使用 SQL Server Management Studio 工具可以通过简单的菜单操作来复制表。
此方法适用于需要对表进行自定义修改并创建副本的情况。
以上五种方法是常见的在 SQL Server 中复制表的方法。根据需求选择合适的方法可以使复制表的过程更加快速和高效。