【发布时间】:2013-03-17 07:54:06
【问题描述】:
我有几个 CSV 文件,我想将它们导入 SQL Server 数据库。我知道这是否可以通过 BULK 插入来实现,但我想要一个解决方案,以便在 CSV 文件的第一行的基础上自动创建 导入表,即列名。 p>
【问题讨论】:
-
您需要一个程序来执行此操作吗?您可以使用 SQL Server Management Studio 导入工具。
标签: sql sql-server csv
我有几个 CSV 文件,我想将它们导入 SQL Server 数据库。我知道这是否可以通过 BULK 插入来实现,但我想要一个解决方案,以便在 CSV 文件的第一行的基础上自动创建 导入表,即列名。 p>
【问题讨论】:
标签: sql sql-server csv
您可以创建一个临时表变量并将数据插入其中,然后通过从临时表中选择它来将数据插入到您的实际表中。
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
【讨论】:
table variable。必须是临时表或真实表。
SQL Server Management Studio 提供了一个导入/导出向导工具,可以选择自动创建表。
您可以通过右键单击对象资源管理器中的数据库并选择 Tasks->Import Data...
来访问它从那里向导应该是不言自明且易于浏览的。您选择 CSV 作为源、所需目标、配置列并运行包。
如果您需要详细的指导,网上有很多指南,这里有一个不错的: http://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/
【讨论】: