将CSV文件导入SQLServer表的方法

将CSV文件导入SQLServer表的方法
有时我们可以从CSV中导入数据到数据库表中,例如在进行报表分析时。

对于这个问题,我认为很难阻止程序员,但是如果SQL Server能完成这项任务,那就更好了!

是的,SQL Server确实有这个功能
首先,让我们看看CSV文件一看,这是存储在我的D:盘,称为csv.txt,和内容:

现在是SQL Server的关键部分;

我们正在使用SQL Server的批量插入命令。有关命令的详细说明,请单击此处。

我们首先设置一个数据表来保存SQL Server中的信息,

创建表csvtable(
Name NVARCHAR(Max),
电子邮件nvarchar(max),
地区nvarchar(max)

然后执行以下语句:
大容量插入csvtable
来自:
(与
fieldterminator =,
rowterminator ='

SELECT * FROM csvtable
根据F5,结果如下:
是什么样的它比程序简单吗!

但是有几个问题需要考虑。

1,CSV文件中的一些列值是双引号,而一些列值没有双引号。

如果您再次运行上述语句,结果将与最后一个语句不同。
其中有些包含双引号,这不应该是我们想要的结果。为了解决这个问题,我们只能使用临时表,首先将CSV导入临时表,然后在从临时表导入到最终表的过程中删除双引号。
2,CSV文件的列值都由双引号组成:

这个问题比最后一个问题复杂一点。除了将CSV文件导入临时表之外,还必须修改代码以将CSV文件导入临时表。

注意圈中的部分。
3,CSV文件的列大于数据表的列:
而我们的数据表只有三列,如果在它上执行导入代码会发生什么
结果是:

它收回了全部放在区柱,为了解决这个问题,其实很简单,就是我们把我们想要建立一个列的数据表中的列的值,而不需要设置列值,同时在数据表中,但只是暂时的柱,在导入表,表的最后,忽视对线路临时柱。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部