如何在SQL中插入多条记录

时间:2020-02-23 14:32:29  来源:igfitidea点击:

在本文中,我们将重点介绍在SQL中插入多行的方法。

需要SQL插入INTO多行查询

SQL INSERT查询将数据插入到特定表的列中。

普通的SQL INSERT查询在单行中输入数据值。
如果我们要一次在多行中插入数据,此查询将失败。

因此,为了节省执行时间,我们需要使用SQL INSERT查询,以使其一次将数据注入多行中。

了解了多行SQL插入查询的需求之后,让我们开始执行相同的操作。

传统的SQL INSERT查询可插入多个记录

传统的SQL INSERT查询将输入数据注入多行。
在这种技术中,我们需要向表行中输入数据的次数要多次插入查询。

该查询的基本缺点是执行多行注入的每个插入查询的开销。

例:

create table Info(id integer, Cost integer, city varchar(200));
insert into Info(id, Cost,city) values(1, 100,"Pune");
insert into Info(id, Cost,city) values(2, 50, "Satara");
insert into Info(id, Cost,city) values(3, 65,"Pune");
insert into Info(id, Cost,city) values(4, 97,"Mumbai");
insert into Info(id, Cost,city) values(5, 12,"USA");
select * from Info;

输出:

1	100	Pune
2	50	Satara
3	65	Pune
4	97	Mumbai
5	12	USA

INSERT-SELECT-UNION查询以插入多个记录

在上一节中,我们了解了INSERT INTO查询将注入多条记录。
但是,如果我们观察它的输出,就会知道" INSERT INTO"子句被重复了很多次。

因此,我们可以使用INSERT-SELECT-UNION查询将数据插入表的多行中。

SQL UNION查询有助于通过INSERT语句选择SELECT查询所包含的所有数据。

create table Info(id integer, Cost integer);
INSERT INTO Info (id, Cost)  
SELECT 1, '123'  
UNION ALL   
SELECT 2, '234'  
UNION ALL  
SELECT 3, '456';  

select * from Info;

输出:

1	123
2	234
3	456

行构造以插入多个记录

SQL INSERT查询的使用方式是,我们利用单个INSERT查询在单个执行点内插入多个记录。

语法:

INSERT INTO Table (columns)  
VALUES (val1, val2, valN); 

例:

create table Info(id integer, Cost integer,city nvarchar(200));
INSERT INTO Info (id,Cost,city)  
VALUES (1,200, 'Pune'), (2, 150,'USA'), (3,345, 'France');  

select * from Info;

输出:

1	200	Pune
2	150	USA
3	345	France