【问题标题】:Use first row of CSV file as column name SQL使用 CSV 文件的第一行作为列名 SQL
【发布时间】:2018-05-15 09:37:50
【问题描述】:

我正在使用 Microsoft SQL Server Management Studio,并且目前正在将一些 CSV 文件导入数据库中。我正在使用 BULK INSERT 命令将 CSV 文件导入到已经存在的表中,并使用以下查询。

BULK INSERT  myTable
    FROM >>'D:\myfolder\file.csv'
    WITH
    (FIRSTROW = 2,
    FIELDTERMINATOR = ';', --CSV Field Delimiter
    ROWTERMINATOR = '\n', -- Used to shift to the next row
    ERRORFILE = 'D:\myfolder\Error Files\myErrrorFile.csv',
    TABLOCK
    )

到目前为止,这对我来说很好,但我想自动化表中列的命名过程。更具体地说,我想创建一个表并将 CSV 文件第一行的内容用作列名。这可能吗?

【问题讨论】:

标签: sql-server import-csv


【解决方案1】:

我能想到的最简单的方法是:

右击数据库,选择:Tasks -> Import Data...

之后,将显示SQL Server 导入和导出向导。在那里,您可以在从任何来源导入数据时指定和自定义设置(例如从文件的第一行获取列名)。

在您的情况下,您的数据源将是平面文件源

【讨论】:

  • 首先感谢您的回答!我真正想要的是使用查询来实现它。这是一个已经设定的要求,它可以让我更快地完成整个过程。您对如何构建这样的查询有任何想法吗?
猜你喜欢
  • 2016-09-01
  • 2019-04-16
  • 1970-01-01
  • 2019-07-31
  • 2013-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多