SQL插入多条数据

2024年05月29日 SQL插入多条数据 极客笔记

SQL插入多条数据

在日常的数据库操作中,我们经常需要向数据库中插入多条数据。比如在用户注册时需要同时插入用户基本信息、地址等多个数据记录。在这种情况下,如果每条数据都单独插入,会增加数据库的负担,并且效率较低。因此,我们可以使用一次性插入多条数据的方式来提高效率。

SQL插入多条数据的方法

在SQL中,可以使用INSERT INTO语句来插入数据记录。要插入多条数据记录,可以使用INSERT INTO语句的VALUES子句进行批量插入。下面是一些常用的方法:

方法一:使用多个VALUES子句一次性插入多条数据

INSERT INTO table_name (column1, column2, column3)
VALUES (value1_1, value1_2, value1_3),
       (value2_1, value2_2, value2_3),
       ...
       (valuen_1, valuen_2, valuen_3);

在上面的语句中,table_name是要插入数据的表名,column1、column2、column3为要插入的列名,value1_1、value1_2、value1_3等为要插入的数据。

方法二:使用INSERT INTO SELECT语句一次性插入多条数据

INSERT INTO table_name (column1, column2, column3)
SELECT value1_1, value1_2, value1_3
UNION ALL
SELECT value2_1, value2_2, value2_3
UNION ALL
...
SELECT valuen_1, valuen_2, valuen_3;

这种方法是通过SELECT语句查询要插入的数据,然后使用UNION ALL连接多个SELECT语句一次性插入多条数据。

示例代码

假设我们有一个用户表user,包含字段id、name、age,现在要向表中插入多条用户数据,可以使用以下SQL语句实现:

INSERT INTO user (id, name, age)
VALUES (1, 'Alice', 25),
       (2, 'Bob', 30),
       (3, 'Cathy', 28);

或者使用INSERT INTO SELECT语句:

INSERT INTO user (id, name, age)
SELECT 1, 'Alice', 25
UNION ALL
SELECT 2, 'Bob', 30
UNION ALL
SELECT 3, 'Cathy', 28;

运行结果

执行上述SQL语句后,会向用户表user中插入三条用户数据记录,分别为id为1的用户Alice,id为2的用户Bob和id为3的用户Cathy。可以通过查询语句验证数据是否成功插入,如:

SELECT * FROM user;

查询结果如下:

id name age
1 Alice 25
2 Bob 30
3 Cathy 28

以上就是使用SQL插入多条数据的方法及示例代码。通过一次性插入多条数据,可以提高数据库操作效率,减少对数据库的负担。

本文链接:http://so.lmcjl.com/news/5570/

展开阅读全文