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

相关推荐
一路往蓝-Anbo7 分钟前
第 1 篇:对象池模式 (Object Pool) —— 裸机下的动态内存革命
jvm·数据库·stm32·单片机·嵌入式硬件·网络协议·tcp/ip
力学与人工智能23 分钟前
“高雷诺数湍流数据库的构建及湍流机器学习集成研究”湍流重大研究计划集成项目顺利结题
数据库·人工智能·机器学习·高雷诺数·湍流·重大研究计划·项目结题
TDengine (老段)26 分钟前
TDengine 脱敏函数用户手册
大数据·服务器·数据库·物联网·时序数据库·iot·tdengine
weixin_4462608533 分钟前
[特殊字符] 使用 PageIndex 提升文档检索效率,告别向量数据库的局限!
数据库
TsengOnce1 小时前
Docker 安装达梦8数据库-5步成功
java·数据库
存在的五月雨1 小时前
Mysql 函数
数据库·mysql
m0_561359671 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
前方一片光明1 小时前
SQL SERVER—将所有表的cjsj字段改为datetime2(0),去掉毫秒
数据库
老邓计算机毕设1 小时前
SSM医院疫情管理系统e3oxi(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·医疗信息化·ssm 框架·医院疫情管理系统
diediedei1 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python