【发布时间】:2012-01-07 06:53:33
【问题描述】:
我刚刚在我的机器上创建了一个空数据库。我现在希望将一个表从我们的服务器数据库复制到这个本地数据库。
我需要运行哪些 sql 命令来执行此操作?我希望创建新表,从旧表中复制数据并将其插入到新表中。
【问题讨论】:
-
您可以创建一个 SQL INSERT 脚本。见stackoverflow.com/questions/7515110/…
标签: sql sql-server
我刚刚在我的机器上创建了一个空数据库。我现在希望将一个表从我们的服务器数据库复制到这个本地数据库。
我需要运行哪些 sql 命令来执行此操作?我希望创建新表,从旧表中复制数据并将其插入到新表中。
【问题讨论】:
标签: sql sql-server
要将表从一个数据库复制到另一个数据库,首先您必须为新表创建与旧表完全相同的表结构,而不是将表条目从一个表复制到另一个。
MySQL数据库解决方案
create table [new database.]<new table name> like [old database.]<old table name>;
insert [new database.]<new table name> select * from [old database.]<old table name>;
【讨论】:
另一种可用于将表从源数据库复制到目标数据库的方法是 SQL Server 导出和导入向导,该向导可在 SQL Server Management Studio 中使用。
您可以选择从源数据库导出或从目标数据库导入以传输数据。
此方法是一种将表从源数据库复制到目标数据库的快速方法,如果您安排复制不关心表的关系和顺序的表。
使用此方法时,不会传输表的索引和键。如果您有兴趣复制它,您需要为这些数据库对象生成脚本。
如果这些是外键,将这些表连接在一起,需要按照正确的顺序导出数据,否则导出向导会失败。
欢迎阅读本文中有关此方法以及更多方法(包括生成脚本、SELECT INTO 和第三方工具)的更多信息: https://www.sqlshack.com/how-to-copy-tables-from-one-database-to-another-in-sql-server/
【讨论】:
INSERT INTO ProductPurchaseOrderItems_bkp
(
[OrderId],
[ProductId],
[Quantity],
[Price]
)
SELECT
[OrderId],
[ProductId],
[Quantity],
[Price]
FROM ProductPurchaseOrderItems
WHERE OrderId=415
【讨论】:
如果在两个数据库之间不断迁移,则可以插入到已经存在的表结构中。如果是,那么:
使用以下语法:
insert into DESTINATION_DB.dbo.destination_table
select *
from SOURCE_DB.dbo.source_table
[where x ...]
如果迁移大量表(或具有外键约束的表),我建议:
希望对你有帮助!
【讨论】:
如果您需要整个表结构(不仅仅是基本数据布局),请使用 Task>Script Table As>Create To>New Query Window 并在您的新数据库中运行。然后,您可以在闲暇时复制数据。
【讨论】:
假设您需要不同的表名称。
如果您使用的是 PHPmyadmin,您可以在菜单中使用他们的 SQL 选项。然后,您只需从第一个表中复制 SQL 代码并将其粘贴到新表中。
当我从本地主机迁移到网络主机时,这对我来说很有效。 希望它对你有用!
【讨论】:
最快的方法是使用 RazorSQL 或 Toad 等工具来执行此操作。
【讨论】:
假设他们在同一个服务器,试试这个:
SELECT *
INTO SecondDB.TableName
FROM FirstDatabase.TableName
这将创建一个新表,并将数据从FirstDatabase.TableName 复制到SecondDB.TableName,不会创建外键或索引。
【讨论】:
Create a linked server 到源服务器。最简单的方法是在 Management Studio 中右键单击“Linked Servers”;它在管理 -> 服务器对象下。
然后您可以使用 4 部分名称复制表,server.database.schema.table:
select *
into DbName.dbo.NewTable
from LinkedServer.DbName.dbo.OldTable
这将创建具有与原始表相同结构的新表并复制数据。
【讨论】:
选择...进入:
select * into <destination table> from <source table>
【讨论】: