SQL语句循环向表中插入数据

使用SQL语句循环向表中插入数据

1.首先创建表

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '姓名',
  `age` int(11) DEFAULT NULL COMMENT '年龄',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `score` double(20,3) DEFAULT NULL COMMENT '分数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

2.编写插入数据SQL

DROP PROCEDURE
IF EXISTS INSERT_DATA_TO_STU;
DELIMITER;;
CREATE PROCEDURE INSERT_DATA_TO_STU () 
BEGIN
	DECLARE n INT DEFAULT 1;
	WHILE ( n < 1000020 ) DO
			INSERT INTO `student` ( `id`, `name`, `age`, `create_time`, `update_time`, `score` )
		VALUES
			( n, 'stu', FLOOR( 10 + RAND()* 21 ), LOCALTIME (), LOCALTIME (), FLOOR( 60 + RAND()* 41 ) + 0.567 );		
		SET n = n + 1;
	END WHILE;
END;;
CALL INSERT_DATA_TO_STU ();

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