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

相关推荐
Elastic 中国社区官方博客几秒前
使用 TypeScript 创建 Elasticsearch MCP 服务器
大数据·服务器·数据库·人工智能·elasticsearch·搜索引擎·全文检索
jjjava2.01 分钟前
数据库入门指南:核心操作与约束详解
数据库
华农DrLai9 分钟前
知识工程和知识图谱有什么区别?如何构建完整的知识体系?
数据库·人工智能·gpt·nlp·prompt·知识图谱
ID_1800790547315 分钟前
淘宝商品详情API的调用频率限制是多少?
大数据·数据库·json
2301_8042154117 分钟前
Python类型提示(Type Hints)详解
jvm·数据库·python
一只努力的微服务27 分钟前
【Calcite 系列】深入理解 Calcite 的 AggregateUnionTransposeRule
大数据·数据库·calcite·优化规则
2301_8166512231 分钟前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python
秋932 分钟前
windows中下载并部署mysql-8.0.44-winx64详细过程
windows·mysql·adb
Sunshine for you32 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
研究点啥好呢33 分钟前
3月28日Github热榜推荐 | 你还没有为AI接一个数据库吗
数据库·人工智能·驱动开发·github