使用 native 为 mysql 生成 100w 数据

梦浪的小虾米
2021-02-25 / 0 评论 / 1,283 阅读 / 正在检测是否收录...

-- 创建数据库


CREATE TABLE `utest` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户名',
  `createtime` int(11) DEFAULT NULL COMMENT '创建时间',
  `updatetime` int(11) DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='管理员表';

--- 插入100w 的函数

set global log_bin_trust_function_creators=1;

DELIMITER $$
-- 写函数之前必须要写,标志
CREATE FUNCTION mock_data ()
RETURNS INT
BEGIN
    DECLARE num INT DEFAULT 1000000;
    DECLARE i INT DEFAULT 0;
    WHILE i<num DO
        insert into utest(username,createtime,updatetime)VALUES(CONCAT('用户',i), FLOOR(rand() * 1000000),FLOOR(rand() * 1000000));
        SET i=i+1;
    END WHILE;
    RETURN i;
END$$

DELIMITER ;

-- 生成 100w 的数据
SELECT mock_data()

最后修改日期:2021/12/13

0

评论 (0)

取消