我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Mysql实现for循环遍历

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Mysql实现for循环遍历

友情目录

1.具体需求

num = 1
ids =(sourceSql: select id from table)
for id in ids{
targetSql: update table2 set age = num where key_id = id;
};
num ++;
这是大概逻辑,主要是通过一段sql查出数据源,然后再遍历查出来的集合做一些其他sql操作,
中间还需要一些自增的变量。
🆗,接下来就是具体sql实现,我们是通过mysql的存储过程实现

2.代码实现

-- 是否存在名字为exam_paper_media_update的存储过程,存在则删除DROP PROCEDURE IF EXISTS exam_paper_media_update;-- 创建存储过程CREATE PROCEDURE exam_paper_media_update () BEGIN-- 该变量用于标识是否还有数据需遍历DECLARE flag INT DEFAULT 0;-- 声明一个变量用来存储遍历过程中的值DECLARE paperId BIGINT ( 40 );-- 查询出需要遍历的数据集合DECLARE idList CURSOR FOR ( SELECT id FROM exam_student_paper WHERE exam_id = 123 AND del_flag = 0 ORDER BY id);-- 为下面while循环建立一个退出标志,当游标遍历完后将flag的值设置为1DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;-- 打开游标OPEN idList;-- 取值设置到临时变量中FETCH idList INTO paperId;-- 遍历未结束就一直执行SET @num = 1;WHILE  flag != 1  DO-- 你想要执行的目标功能,这里可以写多个SQLUPDATE paper_media SET media_url = CONCAT('exam-media-test-bucket/standard-video-fuzzy/',@num, '_TOP.mp4' ) WHERE paper_id = paperId AND tag = 'TOP';UPDATE paper_media SET media_url = CONCAT('exam-media-test-bucket/standard-video-fuzzy/',@num, '_SIDE.mp4') WHERE paper_id = paperId AND tag = 'SIDE';UPDATE paper_media SET media_url = CONCAT('exam-media-test-bucket/standard-video-fuzzy/',@num, '_FRONT.mp4') WHERE paper_id = paperId AND tag = 'LOWER';UPDATE paper_media SET media_url = CONCAT('exam-media-test-bucket/standard-video-fuzzy/',@num, '_FRONT.mp4') WHERE paper_id = paperId AND tag = 'UPPER';SET @num = @num + 1;-- 游标后移一位FETCH idList INTO paperId;END WHILE;-- 关闭游标CLOSE idList;END;-- 执行存储过程CALL exam_paper_media_update ();

3.文章参考

Mysql实现for循环遍历

mysql循环批量建表(表结构相同,表名可以自定义)

来源地址:https://blog.csdn.net/notfound4043/article/details/129175259

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Mysql实现for循环遍历

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

shell脚本for循环实现文件和目录遍历

一个for循环实现一个目录下的文件和目录遍历,很实用[root@localhost shell_order]# cat test27.sh #!/bin/bash #print the directory and filefor file
2022-06-04

Python-使用for循环遍历文件

open操作文件r:    以读方式打开,默认就是这个模式w:   以写方式打开a:    以追加模式打开r+:   以读写模式打开w+:  以读写模式打开a+:   以读写模式打开rb:    以二进制读模式打开wb:   以二进制写模式
2023-01-31

Golang中for循环遍历避坑指南

这篇文章主要为大家详细介绍了Golang中for循环遍历会出现的一些小坑以及对应的解决办法,文中的示例代码讲解详细,感兴趣的可以了解一下
2023-05-20

php中for循环能遍历数组吗

这篇文章主要介绍了php中for循环能遍历数组吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中for循环能遍历数组吗文章都会有所收获,下面我们一起来看看吧。在php中,for循环能遍历数组,语法为“fo
2023-07-04

map循环遍历取值怎么实现

在Python中,可以使用items()方法来获取字典中的键值对,然后通过循环遍历取值。示例如下:my_dict = {'a': 1, 'b': 2, 'c': 3}for k
map循环遍历取值怎么实现
2024-03-11

php中for循环能不能遍历数组

在php中,for循环能遍历数组,语法为“for($i=0;$i<count($array);$i++){ //处理数组元素的语句块;} ”。使用for遍历数组的限制:1、所遍历的数组必须是索引数组(即下标为数字的数组),不能是关联数组(下标为字符串的数组);2、索引数组的下标必须是连续的整数。
2022-11-17

怎么利用For循环遍历Python字典

这篇文章主要讲解了“怎么利用For循环遍历Python字典”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么利用For循环遍历Python字典”吧!前言在实战前,我们需要先创建一个模拟数据的
2023-06-29

mysql怎么循环遍历结果集

在MySQL中,可以使用游标(cursor)来循环遍历结果集。下面是一个示例代码,展示了如何使用游标来循环遍历结果集:```DELIMITER //CREATE PROCEDURE iterate_result_set()BEGINDECL
2023-09-11

python中怎么使用for循环遍历列表

在Python中,通过for循环可以轻松遍历列表中的每个元素。例如,假设有一个列表numbers,其中包含一组数字,可以使用for循环来遍历这个列表:numbers = [1, 2, 3, 4, 5]for number in numbe
python中怎么使用for循环遍历列表
2024-04-08

【笔记】Java中for循环遍历删除操作

在Java中,有些场景需要遍历集合中的元素,然后根据条件进行删除元素的操作。如果使用传统的for循环遍历方式来删除元素,很可能出错或发生意想不到的问题。推荐使用迭代器iterator完成 1. 推荐使用迭代器方式****删除 阿里
2023-08-24

编程热搜

目录