MSSQL如何快速插入大量数据(mssql 插入大数据)

在使用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-10-15′)”);

sqlString.Append(“INSERT INTO Table1 “);

sqlString.Append(“VALUES(‘B’,’2′,’2008-10-15)”);

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快速插入大量数据的三种方式,其中有些需要改变相关参数以保证数据正确插入,希望对大家有所帮助。


数据运维技术 » MSSQL如何快速插入大量数据(mssql 插入大数据)