SQL Server可以使用一个语句块批量插入多条记录。这种方法比逐条插入单个记录更高效。下面介绍三种实现方法。
方法1:使用INSERT INTO VALUES语法
可以使用INSERT INTO VALUES语法插入多条记录。代码如下:
INSERT INTO table_name(column1, column2, column3)
VALUES (value1, value2, value3),
(value4, value5, value6),
(value7, value8, value9),
...
(valuen-2, valuen-1, valuen);
其中,table_name为表名,column1, column2, column3为列名,value1, value2, value3为第一条记录的值,以此类推。
例如,插入三条人员记录到employees表中,代码如下:
INSERT INTO employees(first_name, last_name, age)
VALUES ('John', 'Doe', 30),
('Jane', 'Doe', 28),
('Jim', 'Smith', 35);
方法2:使用SELECT INTO语法
可以使用SELECT INTO语法从其他表复制数据到新表中。代码如下:
SELECT value1, value2, value3, ...
INTO new_table_name
FROM old_table_name
WHERE condition;
其中,value1, value2, value3为列的值,new_table_name为新表名,old_table_name为旧表名,condition为筛选条件。
例如,将employees表中的部分记录复制到new_employees表中,代码如下:
SELECT first_name, last_name, age
INTO new_employees
FROM employees
WHERE age > 30;
方法3:使用BULK INSERT语法
可以使用BULK INSERT语法从文本文件、CSV文件等格式的文件中插入大量数据。代码如下:
BULK INSERT table_name
FROM 'file_path\file_name'
WITH (FIELDTERMINATOR = 'delimiter', ROWTERMINATOR = 'row_delimiter');
其中,table_name为表名,file_path为文件路径,file_name为文件名,delimiter为列分隔符,row_delimiter为行分隔符。
例如,从CSV文件中导入数据到employees表中,代码如下:
BULK INSERT employees
FROM 'C:\Users\username\Documents\employees.csv'
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');
以上是三种批量插入记录的方法,可以根据不同的需求选择使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL Server使用一个语句块批量插入多条记录的三种方法 - Python技术站