📅  最后修改于: 2023-12-03 15:03:04.700000             🧑  作者: Mango
在 MySQL 中,我们可以使用 foreach
循环语句来插入数据到表中。这个方法非常方便,特别是当你需要插入多条数据时。
foreach @value in (@list) do
insert into table (column1,column2,...) values (@value1,@value2,...);
end foreach;
@value
:用来临时存储 @list
中取出的每个元素的值。@list
:值列表,包含要插入的所有数据。table
:要插入数据的表。column1,column2,...
:要插入数据的列。@value1,@value2,...
:要插入的值。假设我们有一个 users
表,其中包含 id
、name
、age
三个字段。现在要向这个表中插入多条数据,如下:
| id | name | age | |----|------------|-----| | 1 | Tom | 18 | | 2 | Jerry | 20 | | 3 | Alice | 22 | | 4 | Bob | 24 | | 5 | Charlie | 26 |
使用 foreach
循环来插入这些数据非常简单,代码如下:
set @user_list = ('1,Tom,18', '2,Jerry,20', '3,Alice,22', '4,Bob,24', '5,Charlie,26');
foreach @user in (@user_list) do
insert into users (id,name,age) values (@user);
end foreach;
以上代码会将列表中的每个元素都插入到 users
表中。
@list
的元素必须用逗号分隔,且每个元素中的值也必须用逗号分隔。@list
的每个元素都必须括在括号中。@list
中的数据类型必须和目标表的列的数据类型相匹配。