📜  在 SQL Server 中的数据库之间复制表(1)

📅  最后修改于: 2023-12-03 15:23:19.546000             🧑  作者: Mango

在 SQL Server 中的数据库之间复制表

在 SQL Server 中,有时候我们需要将一个数据库中的某个表复制到另外一个数据库中,这时候可以使用以下方法来实现:

1. 使用 SELECT INTO 语句

使用 SELECT INTO 语句可以从一个表中选取数据并创建一个新表。在此过程中,新表将从旧表中获取数据。

SELECT *
INTO NewTable
FROM SourceDB.dbo.SourceTable

其中,NewTable 为新表的名称,SourceDB.dbo.SourceTable 为旧表的名称。

此方法适用于在目标数据库中创建一个新表,然后将数据从源数据库中拷贝过来的情况,但是不适用于复制表结构。

2. 使用 SELECT INTO EXISTING 语句

使用 SELECT INTO EXISTING 语句可以将一个表中的数据复制到已经存在的另一个表中。

INSERT INTO DestinationTable
SELECT * FROM SourceDB.dbo.SourceTable

其中,DestinationTable 为目标表的名称,SourceDB.dbo.SourceTable 为源表的名称。

此方法适用于复制表中的数据到已有表中,但是不适用于复制表结构。

3. 使用 SELECT INTO WITH NO DATA 语句

使用 SELECT INTO WITH NO DATA 语句可以创建一个与源表类似的空表。

SELECT *
INTO NewTable
FROM SourceDB.dbo.SourceTable
WHERE 1=0

其中,NewTable 为新表的名称,SourceDB.dbo.SourceTable 为旧表的名称。

此方法适用于复制表结构,但不会将数据复制到目标表。

4. 使用 CREATE TABLE 语句

使用 CREATE TABLE 语句可以创建一个与源表结构相同的新表。

CREATE TABLE NewTable
(
  Col1 datatype [ NULL | NOT NULL ],
  Col2 datatype [ NULL | NOT NULL ],
  ...
)

其中,NewTable 为新表的名称,datatype 为数据类型。

此方法适用于仅仅需要复制表结构,不需要复制数据的情况。

5. 使用 SQL Server Management Studio 工具

使用 SQL Server Management Studio 工具可以通过简单的菜单操作来复制表。

  1. 右击源表,并选择“Script Table as” > "CREATE To" > "New Query Editor Window"。
  2. 修改脚本中的表名,将其替换为目标表名。
  3. 运行脚本,创建新表。

此方法适用于需要对表进行自定义修改并创建副本的情况。

以上五种方法是常见的在 SQL Server 中复制表的方法。根据需求选择合适的方法可以使复制表的过程更加快速和高效。