20.2 SQL Server批量插入(BULK INSERT)

SQL Server批量插入(BULK INSERT)

简介

BULK INSERT可以将数据文件导入SQL Server中的表或视图。语法:

BULK INSERT table_name
FROM path_to_file
WITH options;

更多细节请参考BULK INSERT

示例

使用BULK INSERT语句将数据从逗号分隔值(CSV)文件加载到表中为例。

创建数据库HR:

CREATE DATABASE HR;

然后在HR中创建表Employee:

USE HR;

CREATE TABLE Employees (
  Id int IDENTITY PRIMARY KEY,
  FirstName varchar(50) NOT NULL,
  LastName varchar(50) NOT NULL
);

然后,准备一个CSV文件,路径为D:\data\employees.csv,包含以下内容:

Id,First name,Last name
1,John,Doe
2,Jane,Doe
3,Lily,Bush

employees.csv文件有四行。第一行包含文件标题,最后三行包含实际数据。实际上,数据文件通常包含大量行。

之后,从employees.csv文件加载数据并添加到Employees表中:

BULK INSERT Employees
FROM 'D:\data\employees.csv'
WITH (
  FIELDTERMINATOR = ',',
  ROWTERMINATOR = '\n',
  FIRSTROW = 2
);

其中:
表名是Employees,如果连接的是master数据库,则需要指定全名HR.dbo.Employees

WITH子句有三个选项:FIELDTERINATOR为逗号(','),它是列之间的分隔符。
ROWTERMINATOR为换行符('\n')。
第一行(FIRSTROW)数据从2开始,而不是1,因为我们不会将标题加载到Employees表中。

最后验证一下导入数据:

SELECT * FROM Employees;

posted @ 2023-01-31 16:35  平元兄  阅读(1302)  评论(0编辑  收藏  举报