如何在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