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

M. *_*. X 23 sql sql-server csv

我有几个CSV文件,我想将其导入SQL Server数据库.我知道如果BULK插入可以实现这一点,但是我想要一个解决方案,因此在基于CSV文件的第一行之前自动创建导入表的是列名.

Nen*_*vic 29

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

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

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

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

  • @rncrtr我可以保证你的过程几乎是一样的.选择平面文件作为源而不是所描述的excel之后的一些选项略有不同,但是向导足够好所以它不应该是一个需要理解的问题. (6认同)
  • 此链接不包含CSV文件,这是一个问题. (4认同)

03U*_*Usr 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
Run Code Online (Sandbox Code Playgroud)

  • 无法批量插入`table variable`.必须是临时表或真正的表. (3认同)
  • Why wouldn't you just insert it into the existing table directly? (2认同)
  • 这不会自动从文件创建表,这是问题的全部要点. (2认同)