云服务器网:购买云服务器和VPS必上的网站!

MSSQL怎样快速插入大量数据

在使用MSSQL的进程中,怎样快速插入大量数据?这里介绍一些实用的方法,希望对大家有帮助。
一、使用BULK INSERT命令
当我们需要把数据从另外一个表或文件插入到一个表时,可使用BULK INSERT命令完成。它是一种命令式复制,可以把上下文环境数据插入

在使用MSSQL的进程中,怎样快速插入大量数据?这里介绍一些实用的方法,希望对大家有帮助。

一、使用BULK INSERT命令

当我们需要把数据从另外一个表或文件插入到一个表时,可使用BULK INSERT命令完成。它是一种命令式复制,可以把上下文环境数据插入到一个数据表。代码示例以下:

BULK INSERT Table1

FROM ‘C:\DataFile.csv’

WITH

(

FIRSTROW = 2,

FIELDTERMINATOR = ‘,’,

ROWTERMINATOR = ‘\n’

);

二、使用批量操作

批量操作指的是使用ExecuteNonQuery()方法,可以履行一组查询语句。它可以以一种更高效的方式插入大量数据,并避免单独的transaction来完成一个操作大范围的数据,比如100K行的记录的更新或插入。代码示例以下:

StringBuilder sqlString = new StringBuilder();

sqlString.Append(“INSERT INTO Table1 “);

sqlString.Append(“VALUES(‘A’,’1′,’2008⑴0⑴5′)”);

sqlString.Append(“INSERT INTO Table1 “);

sqlString.Append(“VALUES(‘B’,’2′,’2008⑴0⑴5)”);

SqlConnection sqlConnection = new SqlConnection(ConnectionString);

sqlConnection.Open();

SqlCommand sqlcommand = new SqlCommand(sqlString.ToString(), sqlConnection);

sqlcommand.ExecuteNonQuery();

三、使用SP_SSBULKCOPY

SP_SSBULKCOPY是一个专用的存储进程,可以用来将数据从表格格式文件(如txt等)或其它数据库插入到一个MSSQL表中。相比前两种方法,它具有更好的性能,能够快速插入大量数据,提高了插入效力。代码示例以下:

DECLARE @bcpcmd VARCHAR (1000);

SET @bcpcmd = ‘bcp TestDB.dbo.Table1 in C:\DataFile.csv -T -c -t, -S ServerName\InstanceName’;

EXEC master..sp_ssbulkcopy @bcpcmd;

以上就是介绍了MSSQL怎样使用Bulk Insert跟ExecuteNonQuery和SP_SSBULKCopy快速插入大量数据的三种方式,其中有些需要改变相关参数以保证数据正确插入,希望对大家有所帮助。

本文来源:https://www.yuntue.com/post/97708.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注