将CSV导入SQL Server(包括自动创建表)

时间:2013-03-27 09:24:43

标签: sql sql-server csv

我有几个 CSV文件,我想将其导入 SQL Server数据库。我知道这是否可以使用BULK insert,但我想要一个解决方案,所以导入表是在之前根据CSV文件的第一行自动创建的,是列名。

2 个答案:

答案 0 :(得分:28)

SQL Server Management Studio提供了一个导入/导出向导工具,可以选择自动创建表。

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

来访问它

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

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

答案 1 :(得分:9)

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

 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