SQL插入多条记录的5种高效方法
大家好!在这篇文章中,我们将着重介绍在SQL中插入多行数据的方法。
需要使用SQL插入多行数据的查询
SQL插入查询用于将数据插入到特定表的列中。
普通的SQL INSERT语句一次只能插入一行数据。如果我们需要一次性插入多行数据,使用单行插入的方式将会效率低下。
因此,为了提高执行效率,我们需要采用特殊的SQL INSERT语法,使其能够一次性插入多行数据。
在理解了在SQL中插入多行数据的需求后,让我们开始具体实现。
传统的SQL插入查询用于插入多条记录
传统的SQL INSERT方法需要为每行数据执行一次插入语句。在这种技术中,我们需要多次编写并执行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 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
结论
通过本教程,我们已经完成了这个主题的学习。在此过程中,我们介绍了三种不同的技术来同时向表格中插入多条记录的数据值。
如果您遇到任何疑问,请随时在评论区留言。
欲了解更多与SQL相关的文章,请访问SQL JournalDev。
参考资料
- SQL Insert into multiple rows – StackOverFlow