【MySQL】批量插入数据造数-存储过程

日常工作中可能有针对需要对某个表进行造数,如何批量插入呢?

可以使用存储过程循环结构。下面是一个存储过程以插入100条,while语句后的<=控制循环次数。

concat是一个拼接语句,拼接后是test_1-100,这种也适用于ID/name唯一的情况。


CREATE PROCEDURE insert_data()
BEGIN
  DECLARE counter INT DEFAULT 1;
  WHILE counter <= 100 DO
    SET @name = CONCAT('test_', counter);
    INSERT INTO table1 (name) VALUES (@name);
    SET counter = counter + 1;
  END WHILE;
END

#调用存储过程
CALL insert_data();

调用后就会插入100条,具体可以替换insert语句,或者其他语句也是可以。

#查看存储过程
show create procedure insert_data;

#删除
drop procedure if exists insert_data;


 

你可能感兴趣的:(SQL,数据库)