MySQL生成百万条数据超详细步骤

本文详述了如何在MySQL中创建数据库、设计表结构,并通过编写存储过程一次性插入100万条模拟数据。具体步骤包括创建`test_bai`数据库,建立`app_user`表,定义用户各项信息字段,然后编写并执行mock_data()函数来填充数据。通过这个方法,读者可以快速学习到在MySQL中大批量生成数据的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇文章是关于MySQL生成百万条数据的全部过程,每一步都有具体的sql,并且每一步都有具体的注释,详细步骤如下:

1、创建数据库

CREATE DATABASE `test_bai` -- 创建数据库
USE `test_bai` -- 切换对应的数据库

2、创建表

CREATE TABLE `app_user`(
	`id` INT  NOT NULL AUTO_INCREMENT COMMENT '主键',
	`name` VARCHAR(50) DEFAULT '' COMMENT '用户名称',
	`email` VARCHAR(50) NOT NULL COMMENT '邮箱',
	`phone` VARCHAR(20) DEFAULT '' COMMENT '手机号',
	`gender` TINYINT DEFAULT '0' COMMENT '性别(0-男  : 1-女)',
	`password` VARCHAR(100) NOT NULL COMMENT '密码',
	`age` TINYINT DEFAULT '0' COMMENT '年龄',
	`create_time` DATETIME DEFAULT NOW(),
	`update_time` DATETIME DEFAULT NOW(),
	PRIMARY KEY (`id`) 
)ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT='app用户表'

3、书写新增100万条数据的函数

SET GLOBAL log_bin_trust_function_creators=TRUE; -- 创建函数一定要写这个
DELIMITER $$   -- 写函数之前必须要写,该标志

CREATE FUNCTION mock_data()		-- 创建函数(方法)
RETURNS INT 						-- 返回类型
BEGIN								-- 函数方法体开始
	DECLARE num INT DEFAULT 1000000; 		-- 定义一个变量num为int类型。默认值为100 0000
	DECLARE i INT DEFAULT 0; 
	
	WHILE i < num DO 				-- 循环条件
		 INSERT INTO app_user(`name`,`email`,`phone`,`gender`,`password`,`age`) 
		 VALUES(CONCAT('用户',i),'2548928007qq.com',CONCAT('18',FLOOR(RAND() * ((999999999 - 100000000) + 1000000000))),FLOOR(RAND()  *  2),UUID(),FLOOR(RAND()  *  100));
		SET i =  i + 1;	-- i自增	
	END WHILE;		-- 循环结束
	RETURN i;
END; 								-- 函数方法体结束

4、调用函数

SELECT mock_data(); -- 调用函数

这个时候数据库就有了100万条数据了!!!
在这里插入图片描述

PS:该方法是我在B站看 狂神说-秦疆老师 视频学来的,感兴趣的小伙伴有时间可以去看一遍。视频路劲

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eric-x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值