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

相关推荐
小李来了!1 分钟前
Oracle、MySQL、SQL server介绍及有何区别
数据库·mysql·oracle·sqlserver
mcooiedo5 分钟前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
柒.梧.6 分钟前
新手入门:NoSQL与Redis核心基础解析
数据库·redis·nosql
qq_416018726 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
执笔画情ora7 分钟前
PG/mysql/oracle--- 长事务对后续事务影响分析
数据库·mysql·oracle
qq_283720059 分钟前
nestjs实战(六):诺依Nest.js + MySQL 项目改造为兼容达梦8数据库详细教程
javascript·数据库·mysql·达梦·nest.js·诺依
qq_416018729 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
看我干嘛!36 分钟前
在Windows上安装MySQL的两种方法
数据库·mysql
专注API从业者41 分钟前
淘宝商品详情 API 的 Webhook 回调机制设计与实现:实现数据主动推送
大数据·前端·数据结构·数据库
魔极客1 小时前
阿里云免费额度用完即停设置指南
数据库·阿里云·云计算