mysql,for循环执行sql

遇到一个问题,我需要模拟上百万数据来优化sql,线上数据down不下来,测试库又没有,写代码执行要么慢要么就是sql语句太长。

于是,直接用mysql自带的功能去实现!

简单而简单

mysql可以for循环?没错!!可以的

在 MySQL 中,通常使用**存储过程(Stored Procedure)**来实现类似于 for 循环的功能。存储过程允许你在数据库中定义一组 SQL 语句,并可以通过调用存储过程来执行这些语句。

话不多说,开整!!!!

sql 复制代码
DELIMITER $$

CREATE PROCEDURE simple_loop()
BEGIN
    DECLARE i INT DEFAULT 1;
    DECLARE max_count INT DEFAULT 10;
    
    WHILE i <= max_count DO
        -- 在这里放置你想要循环执行的 SQL 语句
        INSERT INTO your_table (column1, column2) VALUES (i, 'some value');
        
        SET i = i + 1;
    END WHILE;
END$$

DELIMITER ;

simple_loop : 存储过程名称,可以自定义,记下来!!

DECLARE max_count INT DEFAULT 10; 就是循环的次数

i 和 max_count : 自定义,就是for循环

好了,定义好了,为啥我执行没反应呢?

莫慌,当前只是定义,我们需要调用,没错就是存储过程就是个method (函数)!

开始调用

sql 复制代码
CALL simple_loop();

没错,就是CALL 就行!!!

------ end

相关推荐
herinspace22 分钟前
管家婆网店ERP如何录入成本调价单
服务器·数据库·oracle·智能手机·电脑
短剑重铸之日24 分钟前
7天读懂MySQL|Day 1: MySQL 架构全景
数据库·mysql·架构
醉风塘37 分钟前
MongoDB高级查询全攻略:使用MongoTemplate实现分组、排序、分页与连表查询
数据库·mongodb
路西法0141 分钟前
# CentOS系统yum方式安装MySQL
linux·mysql·centos
蜂蜜黄油呀土豆44 分钟前
MySQL 事务隔离级别与 MVCC 深度解析
mysql·innodb·mvcc·事务隔离级别·幻读
luoluoal1 小时前
基于python的des知识图谱的百科知识问答平台(源码+文档)
python·mysql·django·毕业设计
TG:@yunlaoda360 云老大1 小时前
如何确保华为云国际站代理商的服务可用性?
数据库·人工智能·华为云
又是忙碌的一天1 小时前
Myvatis 动态查询及关联查询
java·数据库·mybatis
java1234_小锋1 小时前
Redis是单线程还是多线程?
数据库·redis·缓存
若尘啊若辰1 小时前
安全通用要求之十安全运维管理
网络·数据库·网络安全·等保·等级保护·安全通用要求