摸鱼少学习多

day88 - 数据库函数设计-插入100w条数据

数据库插入100w条数据

复制代码
 CREATE TABLE `app_user` (
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `name` VARCHAR(50) DEFAULT'' COMMENT'用户昵称',
 `email` VARCHAR(50) NOT NULL COMMENT'用户邮箱',
 `phone` VARCHAR(20) DEFAULT'' COMMENT'手机号',
 `gender` TINYINT(4) UNSIGNED DEFAULT '0'COMMENT '性别(0:男;1:女)',
 `password` VARCHAR(100) NOT NULL COMMENT '密码',
 `age` TINYINT(4) DEFAULT'0'  COMMENT '年龄',
 `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
 `update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT = 'app用户表'-- 插入100w条数据
 DELIMITER $$
 -- 写函数之前必须要写,标志
 CREATE FUNCTION mock_data2()
 RETURNS INT DETERMINISTIC
 BEGIN
     DECLARE num INT DEFAULT 1000000;
     DECLARE i INT DEFAULT 0;
     WHILE i<num DO
         INSERT INTO `app_user`(`name`,`email`,`phone`,`gender`,`password`,`age`)
         VALUES(CONCAT('用户',i),'792972270@qq.com',CONCAT('19',FLOOR((RAND()*(999999999-100000000))+100000000)),FLOOR(RAND()*2),UUID(),FLOOR(RAND()*100));
         SET i=i+1;
     END WHILE;
     RETURN i;
 END;
 ​
 SELECT mock_data2() -- 执行此函数 生成一百万条数据
INSERT INTO `app_user`(`name`,`email`,`phone`,`gender`,`password`,`age`)
 VALUES(CONCAT('用户',1),'792972270@qq.com',CONCAT('19',FLOOR((RAND()*(999999999-100000000))+100000000)),FLOOR(RAND()*2)
 ,UUID(),FLOOR(RAND()*100));
 ​
 ​
 ​
 ​
 ​
 SELECT * FROM `app_user` 
 WHERE `name` = '用户9999';
 ​
 -- id_表名_字段名
 CREATE INDEX id_app_user_name ON `app_user`(`name`);
复制代码

 

 

 

posted @   北海之上  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示