在 SQL Server 中,批量插入数据是一种高效的方式,可以大大提高数据插入的速度。以下是 SQL Server 批量插入数据的两种方法的完整攻略,包含了详细的步骤和两个示例说明:
1. 使用 BULK INSERT 进行批量插入
可以使用 BULK INSERT 命令进行批量插入,步骤如下:
- 准备好要插入的数据文件,文件格式为 CSV 或文本文件。
- 在 SQL Server Management Studio 中,打开一个新的查询窗口。
- 输入以下 T-SQL 代码:
BULK INSERT my_table
FROM 'C:\data\my_data.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
BATCHSIZE = 10000
);
其中,my_table 是要插入数据的表的名称,'C:\data\my_data.csv' 是数据文件的路径和名称,FIELDTERMINATOR 和 ROWTERMINATOR 是字段和行的分隔符,BATCHSIZE 是每批次插入的行数。
- 执行以上 T-SQL 代码,开始批量插入数据。
2. 使用 OPENROWSET 进行批量插入
可以使用 OPENROWSET 函数进行批量插入,步骤如下:
- 准备好要插入的数据文件,文件格式为 CSV 或文本文件。
- 在 SQL Server Management Studio 中,打开一个新的查询窗口。
- 输入以下 T-SQL 代码:
INSERT INTO my_table (col1, col2, col3)
SELECT col1, col2, col3
FROM OPENROWSET(
BULK 'C:\data\my_data.csv',
FORMATFILE = 'C:\data\my_format.xml',
FIRSTROW = 2
) AS rows;
其中,my_table 是要插入数据的表的名称,col1、col2、col3 是要插入的列的名称,'C:\data\my_data.csv' 是数据文件的路径和名称,'C:\data\my_format.xml' 是格式文件的路径和名称,FIRSTROW 是数据文件中第一行的行号。
- 执行以上 T-SQL 代码,开始批量插入数据。
示例说明
以下是使用 BULK INSERT 进行批量插入数据的示例:
- 准备好要插入的数据文件,文件格式为 CSV 或文本文件。
- 在 SQL Server Management Studio 中,打开一个新的查询窗口。
- 输入以下 T-SQL 代码:
BULK INSERT sales
FROM 'C:\data\sales.csv'
WITH (
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
BATCHSIZE = 10000
);
其中,sales 是要插入数据的表的名称,'C:\data\sales.csv' 是数据文件的路径和名称,FIELDTERMINATOR 和 ROWTERMINATOR 是字段和行的分隔符,BATCHSIZE 是每批次插入的行数。
- 执行以上 T-SQL 代码,开始批量插入数据。
以下是使用 OPENROWSET 进行批量插入数据的示例:
- 准备好要插入的数据文件,文件格式为 CSV 或文本文件。
- 在 SQL Server Management Studio 中,打开一个新的查询窗口。
- 输入以下 T-SQL 代码:
INSERT INTO sales (product, price, quantity)
SELECT product, price, quantity
FROM OPENROWSET(
BULK 'C:\data\sales.csv',
FORMATFILE = 'C:\data\sales_format.xml',
FIRSTROW = 2
) AS rows;
其中,sales 是要插入数据的表的名称,product、price、quantity 是要插入的列的名称,'C:\data\sales.csv' 是数据文件的路径和名称,'C:\data\sales_format.xml' 是格式文件的路径和名称,FIRSTROW 是数据文件中第一行的行号。
- 执行以上 T-SQL 代码,开始批量插入数据。
以上是 SQL Server 批量插入数据的两种方法的完整攻略,包含了详细的步骤和两个示例说明。在实际应用中,需要根据具体情况选择合适的方法,并注意数据的格式和分隔符等问题,确保插入的数据的准确性和完整性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQLServer 批量插入数据的两种方法 - Python技术站