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

相关推荐
孤影过客4 小时前
Flutter优雅构建:从零打造开发级工作流
arm开发·数据库·flutter
k-l.4 小时前
【通过jdbc连接到kingbase数据库插入10w数据】
java·数据库
ErizJ4 小时前
面试|Mysql八股
mysql·面试
qwehjk20084 小时前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python
code_pgf4 小时前
Jetson Orin NX 16G设备上配置AI服务自动启动的方案,包括Ollama、llama-server和OpenClaw Gateway三个组件
数据库·人工智能·安全·gateway·边缘计算·llama
SelectDB4 小时前
doris404发版
大数据·数据库·数据分析
SelectDB4 小时前
SelectDB search 函数
大数据·数据库·数据分析
2301_818419014 小时前
Python虚拟环境(venv)完全指南:隔离项目依赖
jvm·数据库·python
蒸汽求职4 小时前
蒸汽教育求职分享:2026年数据工程师就业优势分析与职业发展路径指南
数据库·人工智能·面试·求职招聘·美国求职
IDC02_FEIYA4 小时前
SQL Server 2016及SQL Server Management Studio下载,SQL Server 2016数据库安装教程图解
服务器·数据库·性能优化