mysql存储过程,按1000条一次插入3W条数据
时间: 2023-07-01 16:24:47 浏览: 111
可以使用存储过程来每次插入1000条数据,直到所有的3万条数据都被插入完毕。以下是一个简单的存储过程示例:
```
DELIMITER //
CREATE PROCEDURE insert_data()
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE total_rows INT DEFAULT 30000;
WHILE i <= total_rows DO
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3), (value4, value5, value6), ..., (value9997, value9998, value9999), (value10000, value10001, value10002);
SET i = i + 10000;
END WHILE;
END //
DELIMITER ;
```
这个存储过程将会循环执行,每次插入 10000 条数据到表 `table_name` 中的 `column1`,`column2` 和 `column3` 字段中。在每一次循环中,存储过程会向 `VALUES` 子句中插入下一批 10000 条数据,并插入到 `table_name` 中。循环将会一直执行,直到所有的 3 万条数据都被插入到 `table_name` 中为止。
要执行该存储过程,可以使用以下语句:
```
CALL insert_data();
```
这将会每次插入 10000 条数据到表中,并在所有的 3 万条数据都被插入到 `table_name` 中后结束循环和插入操作。你可以根据你的需要修改该存储过程中的表名和字段名,并在 `VALUES` 子句中设置你要插入的值。注意,每次插入的数据量过大也可能会导致性能问题,所以需要根据你的服务器性能和资源利用率来确定适合的插入数据量。