mysql存储过程成绩等级_MySQL使用存储过程创建百万级别测试数据
建表
CREATE TABLE`usertb` (
`id`bigint(20) unsigned NOT NULLAUTO_INCREMENT,
`uname`varchar(20) DEFAULT NULL,
`ucreatetime`datetime DEFAULT NULL,
`age`int(11) DEFAULT NULL,UNIQUE KEY`id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=76601101 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT
创建存储过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`( )
BEGIN
declare v_cnt decimal (10) default 0 ;
DECLARE uname VARCHAR(20);
DECLARE uname2 VARCHAR(20);
DECLARE uname3 VARCHAR(20);
DECLARE uname4 VARCHAR(20);
DECLARE uname5 VARCHAR(20);
-- 随机姓名 可根据需要增加/减少样本
set @SURNAME = '王李张刘陈杨黄赵吴周徐孙马朱胡郭何高林罗郑梁谢宋唐位许韩冯邓曹彭曾萧田董潘袁于蒋蔡余杜叶程苏魏吕丁任沈姚卢姜崔钟谭陆汪范金石廖贾夏韦傅方白邹孟熊秦邱江尹薛阎段雷侯龙史陶黎贺顾毛郝龚邵万钱严覃武戴莫孔向汤';
set @NAME = '丹举义之乐书乾云亦从代以伟佑俊修健傲儿元光兰冬冰冷凌凝凡凯初力勤千卉半华南博又友同向君听和哲嘉国坚城夏夜天奇奥如妙子存季孤宇安宛宸寒寻尔尧山岚峻巧平幼康建开弘强彤彦彬彭心忆志念怀怜恨惜慕成擎敏文新旋旭昊明易昕映春昱晋晓晗晟景晴智曼朋朗杰松枫柏柔柳格桃梦楷槐正水沛波泽洁洋济浦浩海涛润涵渊源溥濮瀚灵灿炎烟烨然煊煜熙熠玉珊珍理琪琴瑜瑞瑶瑾璞痴皓盼真睿碧磊祥祺秉程立竹笑紫绍经绿群翠翰致航良芙芷苍苑若茂荣莲菡菱萱蓉蓝蕊蕾薇蝶觅访诚语谷豪赋超越轩辉达远邃醉金鑫锦问雁雅雨雪霖霜露青靖静风飞香驰骞高鸿鹏鹤黎';
dd:loop
set v_cnt = v_cnt+1 ;
-- length(@surname)/3 是因为中文字符占用3个长度
set uname = concat(substr(@surname,floor(rand()*length(@surname)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1));
set uname2 = concat(substr(@surname,floor(rand()*length(@surname)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1));
set uname3 = concat(substr(@surname,floor(rand()*length(@surname)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1));
set uname4 = concat(substr(@surname,floor(rand()*length(@surname)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1));
set uname5 = concat(substr(@surname,floor(rand()*length(@surname)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1), substr(@NAME,floor(rand()*length(@NAME)/3+1),1));
insert into usertb values
(null,uname,concat(floor(2010+rand()*10),'-',floor(1+rand()*11),'-',floor(1+rand()*26),' ', floor(10+rand()*10),':',floor(10+rand()*49),':',floor(10+rand()*49)),FLOOR(1 + (RAND() * 99))),
(null,uname2,concat(floor(2010+rand()*10),'-',floor(1+rand()*11),'-',floor(1+rand()*26),' ', floor(10+rand()*10),':',floor(10+rand()*49),':',floor(10+rand()*49)),FLOOR(1 + (RAND() * 99))),
(null,uname3,concat(floor(2010+rand()*10),'-',floor(1+rand()*11),'-',floor(1+rand()*26),' ', floor(10+rand()*10),':',floor(10+rand()*49),':',floor(10+rand()*49)),FLOOR(1 + (RAND() * 99))),
(null,uname4,concat(floor(2010+rand()*10),'-',floor(1+rand()*11),'-',floor(1+rand()*26),' ', floor(10+rand()*10),':',floor(10+rand()*49),':',floor(10+rand()*49)),FLOOR(1 + (RAND() * 99))),
(null,uname5,concat(floor(2010+rand()*10),'-',floor(1+rand()*11),'-',floor(1+rand()*26),' ', floor(10+rand()*10),':',floor(10+rand()*49),':',floor(10+rand()*49)),FLOOR(1 + (RAND() * 99)));
if v_cnt = 1000000 then leave dd;
end if;
end loop dd ;
END;
经过测试创建5百万数据花了大约100秒
mysql存储过程成绩等级_MySQL使用存储过程创建百万级别测试数据相关推荐
- mysql命令导入存储过程报错_mysql导入存储过程时declare报错的有关问题解决
在导入存储过程时经常遇见下列DECLARE报错的问题: ? Error Code : 1064 You have an error in your SQL syntax; check the manu ...
- mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据
1.存储过程代码 delimiter $$ DROP PROCEDURE IF EXISTS create_service_data$$ create procedure create_service ...
- mysql数据存储过程详解_mysql数据存储过程参数实例详解
MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...
- mysql语句成绩等级_数据库mysql中case如何给成绩划分等级?
在表格中如果我们要给不同分段的成绩评选等级,只需要使用筛选功能输入评定的条件即可.那么在mysql中我们该如何输出跟表格一样结果呢?这里有的小伙伴说可以用我们刚学习的case函数来尝试.但是作为最基础 ...
- mysql的存储过程与事务_mysql的存储过程与事务入门
存储过程是: 通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译.主要 ...
- mysql 存储过程改用户_Mysql修改存储过程相关权限问题
在使用mysql数据库经常都会遇到这么一个问题,其它用户定义的存储过程,现在使用另一个用户却无法修改或者删除等:正常情况下存储过程的定义者对它有修改.删除的权限:但是其它的用户就要相于的授权,不然无法 ...
- 用MYSQL的存储过程创建百万级测试数据表
创建随机字符串函数,便于创建名称 DROP function if EXISTS rand_string; #创建一个指定字符个数的函数 create function rand_string(n I ...
- mysql 存储过程游标删除_mysql数据库存储过程游标循环,提前退出
需求:向trade这个数据库中的每一个表增加多个字段 遇到问题:存储过程,游标,循环,动态sql执行 注意: mysql 存储过程在我所使用的5.5版本中不能使用 show 的命令,利用 inform ...
- MYSQL用存储过程创建百万级测试数据表
1.创建随机字符串函数,便于创建名称 -- delimiter $$ -- 执行出现"This function has none of DETERMINISTIC, NO SQL, or ...
- mysql 过程和函数_MySQL:存储过程和函数
变量 系统变量 变量由系统提供,不是用户自定义的,属于服务器层面 全局变量 会话变量 # 如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是会话 # 查看 ...
最新文章
- ubuntu安装Java开发环境
- 无头结点单链表的逆置_第1章第2节练习题11 就地逆置单链表
- P2386 放苹果 方法一
- mysql被除数为0不报错_MySQL:关系除法
- java字节流复制_Java使用字节流复制文件的方法
- 查看mysql连接数_查看mysql 连接数
- iPhone 5的发布日期估计为9月21日挂
- CYQ.Data 轻量数据层之路 V3.0版本发布-Xml绝对杀手(三十二)
- ArcGIS Maritime Server 开发教程(四)Maritime Service 开发实践
- IPTV的QoE评价方法
- 作业 3 应用分支与循环结构解决问题
- pycharm windows 打开命令行终端terminal
- redis中key的归类
- 谷歌、火狐浏览器扩展开发
- html影院选座模板,jQuery实现影院选座订座效果
- GD32F103串口DMA收发(空闲中断 + DMA)
- 自动批量删除全部微博(自动翻页加载)
- 卸载WPS后office文档图标不能正常显示和WPS网盘图标无法删除
- 《Stacked Hourglass Networks for Human Pose Estimation》
- n+1天 吾日三省吾身