📜  mysql foreach 插入 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:04.700000             🧑  作者: Mango

MySQL foreach 插入

在 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 表,其中包含 idnameage 三个字段。现在要向这个表中插入多条数据,如下:

| 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 中的数据类型必须和目标表的列的数据类型相匹配。