-- 创建数据库
CREATE DATABASE IF NOT EXISTS db_mysql DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 创建用户
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
-- 授权
GRANT ALL ON db_mysql.* TO 'test'@'%';
-- 创建测试表
CREATE TABLE `students_table` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) DEFAULT NULL,
`age` TINYINT(4) DEFAULT NULL,
`create_time` DATETIME DEFAULT NULL,
`update_time` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci;
2、创建存储过程
-- 创建存储过程
DROP PROCEDURE IF EXISTS proc_batch_insert;-- 判断存储过程是否存在,如果存在,先删除再创建
DELIMITER //
CREATE PROCEDURE proc_batch_insert()-- 定义存储过程名称,无参
BEGIN
DECLARE pre_name BIGINT;-- 声明变量
DECLARE ageVal INT;
DECLARE i INT;
SET pre_name=187635267;-- 赋值初始化
SET ageVal=18;
SET i=1;
WHILE i < 1000 DO -- 循环插入1000条数据
INSERT INTO students_table(id, `name`, age, create_time, update_time) VALUES(i, CONCAT(pre_name,'@qq.com'), ageVal+18, NOW(), NOW());
SET pre_name=pre_name+100; -- 每次增加100
SET i=i+1; -- 每次增加1
SELECT RAND()*5 INTO ageVal;-- 产生0-5之间的随机数
END WHILE;
END; //
基于mysql存储过程实现自增批量插入数据1、创建数据库表-- 创建数据库CREATE DATABASE IF NOT EXISTS db_mysql DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;-- 创建用户CREATE USER 'test'@'%' IDENTIFIED BY '123456';-- 授权GRANT ALL ON db_mysql.* TO 'test'@'%';-- 创建测试表CREATE TABLE