mysql如何插入一百万条数据
0.背景
mysql8.0+navicat
1.过程
依次执行下面3条sql语句。
CREATE TABLE `test` (
`id` int(7) NOT NULL AUTO_INCREMENT COMMENT '自增id',
`name` varchar(50) NOT NULL COMMENT '名称',
`pwd` varchar(50) NOT NULL COMMENT '密码',
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COMMENT='测试表';
DELIMITER $$ -- 写函数之前必须要写
CREATE FUNCTION test_data()
RETURNS INT DETERMINISTIC
BEGIN
DECLARE num INT DEFAULT 1000000;
DECLARE i INT DEFAULT 0;
WHILE i<num DO
INSERT INTO `test`(`name`,`pwd`)VALUES(CONCAT('用户',i),UUID());
SET i=i+1;
END WHILE;
RETURN i;
END $$
select test_data(); -- 执行函数
执行时间大概是 224.350s