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;


浙公网安备 33010602011771号