sql-server - 使用 CSV 文件的第一行作为列名 SQL

标签 sql-server import-csv

我正在使用 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 导入和导出向导。在那里,您可以指定所有内容以及从任何源导入数据的自定义设置(例如从文件中的第一行获取列名称)。

就您而言,您的数据源将是平面文件源

关于sql-server - 使用 CSV 文件的第一行作为列名 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47590718/

相关文章:

c# - SQL Server Search,如何返回总行数?

sql-server - 将包含超过 1024 列的 csv 文件导入到新的 SQL Server 表中

powershell - Out-GridView 显示一个空白列,其中有实际数据

python-3.x - 无法访问 Google Colaboratory 中的 csv 文件

Python CSV 导入在前 20 万行后花费太多时间

python - 将字符串转换为 float 以求和时忽略所有非浮点值

以下模式的sql查询

c# - 是否有一个开关可以将 SQL Server 表的字段的默认值作为 FormView/DetailsView 的 TextBoxes 的默认值?

sql-server - SQL Server 2005 存储过程依赖关系

mysql - Openquery 插入不起作用