ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-10-01 13:33:28  阅读:197  来源: 互联网

标签:COMMENT VARCHAR -- 步骤 DEFAULT 百万条 MySQL 100 INT


本篇文章是关于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站看 狂神说-秦疆老师 视频学来的,力推一波。
视频路劲:https://www.bilibili.com/video/BV1NJ411J79W

标签:COMMENT,VARCHAR,--,步骤,DEFAULT,百万条,MySQL,100,INT
来源: https://blog.csdn.net/weixin_47316183/article/details/120577168

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有