![](/img/trans.png)
[英]SQL Server 2008: copying the contents of all tables from one database into another database
[英]SQL Server Copying tables from one database to another
我有两个数据库,一个叫做Natalie_playground
,一个叫做LiveDB
。 由于我想练习插入,更新内容,我想将一些表从LiveDB
到Natalie_playground
。
我要复制的表称为: Customers, Computers, Cellphones, Prices
我试图做的是(使用SSMS)右键单击一个表,但那里没有Copy!
假设您有两个数据库,例如A和B:
如果目标表不存在,将创建以下脚本(我不推荐这种方式):
SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N INTO COPY_TABLE_HERE FROM A.dbo.table_from_A table_A
如果目标表存在,则:
INSERT INTO TABLE_TARGET SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N FROM A.dbo.table_from_A table_A
注意:如果您想学习并练习它,可以使用以前的脚本,但如果要将完整的结构和数据从数据库复制到另一个脚本,则应使用“备份和恢复数据库”或“使用数据生成脚本数据库”并将其运行到另一个数据库中。
右键单击数据库 - >在任务下选择生成脚本 ,按照向导,选择表并选中“脚本表数据” (或类似)的复选框,将其生成为SQL脚本并在其他数据库上执行。
您还可以尝试SQL Server导入/导出向导。 如果目标表不存在,则在运行向导时将创建它们。
有关更多详细信息,请访问MSDN http://msdn.microsoft.com/en-us/library/ms141209.aspx
我从其他博客找到了一个简单的方法。 希望这可能会有所帮助。
Select * into DestinationDB.dbo.tableName from SourceDB.dbo.SourceTable
http://www.codeproject.com/Tips/664327/Copy-Table-Schema-and-Data-From-One-Database-to-An
试试这个:
如果目标表存在:
SELECT SourceTableAlias.*
INTO TargetDB.dbo.TargetTable
FROM SourceDB.dbo.SourceTable SourceTableAlias
如果目标表不存在:
INSERT INTO TargetDB.dbo.TargetTable
SELECT SourceTableAlias.*
FROM SourceDB.dbo.SourceTable SourceTableAlias
祝好运!
试试这个
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
如果只想复制表的架构,可以在上述查询的末尾添加false条件。
恩。
SELECT table_A.FIELD_1, ..., table_A.FIELD_N
INTO LiveDB.custom_table
FROM Natalie_playground.dbo.custom_table table_A
WHERE 0 > 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.