27

我有几个CSV 文件,我想将它们导入SQL Server 数据库。我知道这是否可以通过 BULK 插入来实现,但我想要一个解决方案,以便在 CSV 文件的第一行(即列名)之前自动创建导入表。

4

2 回答 2

31

SQL Server Management Studio 提供了一个导入/导出向导工具,该工具具有自动创建表的选项。

您可以通过右键单击对象资源管理器中的数据库并选择任务->导入数据来访问它...

从那里向导应该是不言自明且易于浏览的。您选择 CSV 作为源、所需目标、配置列并运行包。

如果您需要详细的指导,网上有很多指南,这里有一个不错的: http ://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/

于 2013-03-27T09:39:14.970 回答
8

您可以创建一个临时表变量并将数据插入其中,然后通过从临时表中选择它来将数据插入到您的实际表中。

 declare @TableVar table 
 (
    firstCol varchar(50) NOT NULL,
    secondCol varchar(50) NOT NULL
 )

BULK INSERT @TableVar FROM 'PathToCSVFile' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
GO

INSERT INTO dbo.ExistingTable
(
    firstCol,
    secondCol
)
SELECT firstCol,
       secondCol
FROM @TableVar

GO
于 2013-03-27T09:35:58.317 回答