Mysq 过程函数——生成测试数据

create PROCEDURE myinser(in num int) #传入的参数值
begin
DECLARE age int;##--声明变量
DECLARE id int;##--声明变量
DECLARE name char(4);##--声明变量
WHILE num>0 DO #--循环添加数据
set id = ROUND(300*rand());#自己实际需要生成的数据内容(重点关注)
set age = ROUND(100*rand());
set name = CONCAT(SUBSTRING(@firstname,ROUND(100*rand()),1),SUBSTRING(@secondname,ROUND(150*rand()),1),SUBSTRING(@secondname,ROUND(150*rand()),1));
insert into `user` values(id,age,name);
set	num = num -1;#--循环条件变更
END WHILE;
end;

call myinser(10); #执行过程
drop procedure myinser# 删除过程函数

# 随机age
select ROUND(100*rand());

语法的具体说明见下记链接↓
过程函数的参数说明

# 随机age
select ROUND(100*rand());

set @firstname = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄麴家封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲邰从鄂索咸籍赖卓蔺屠蒙池乔阴欎胥能苍双闻莘党翟谭贡劳逄姬申扶堵冉宰郦雍舄璩桑桂濮牛寿通边扈燕冀郏浦尚农温别庄晏柴瞿阎充慕连茹习宦艾鱼容向古易慎戈廖庾终暨居衡步都耿满弘匡国文寇广禄阙东殴殳沃利蔚越夔隆师巩厍聂晁勾敖融冷訾辛阚那简饶空曾毋沙乜养鞠须丰巢关蒯相查後荆红游竺权逯盖益桓公万俟司马上官欧阳夏侯诸葛闻人东方赫连皇甫尉迟公羊澹台公冶宗政濮阳淳于单于太叔申屠公孙仲孙轩辕令狐钟离宇文长孙慕容鲜于闾丘司徒司空亓官司寇仉督子车颛孙端木巫马公西漆雕乐正壤驷公良拓跋夹谷宰父谷梁晋楚闫法汝鄢涂钦段干百里东郭南门呼延归海羊舌微生岳帅缑亢况后有琴梁丘左丘东门西门商牟佘佴伯赏南宫墨哈谯笪年爱阳佟第五言福百家姓终';
SELECT @firstname;

set @secondname = '李王张刘陈杨赵黄周吴徐孙胡朱高林何郭马罗梁宋郑谢韩唐冯于董萧程柴袁邓许傅沈曾彭吕苏卢蒋蔡贾丁魏薛叶阎余潘杜戴夏钟汪田任姜范方石姚谭廖邹熊金陆郝孔白崔康毛邱秦江史顾侯邵孟龙万段曹钱汤尹黎易常武乔贺赖龚文牛葛严祁荆焦单衣仲包颜麻阮梅温齐游党苗左俞索安肖尚聂覃习翁闫关路殷舒岳滕伊向陶韦姬银蒲甘荣谈燕池皮穆樊洪卜蓝庄班毕晏苑盛鲁苍倪纪莫付童翟雷奚郜尤司成匡农闵巫臧戚应费詹祝刁屈邰符邢贡宿缪占权申井柳边栾冼景佟原强谷施库麦章花嵇蔚房时凌双伍宁沃裴及鲍茅裘禹饶蔺娄宗管庞巩甄靳艾涂和贝门柯骆曲弓伏邬乌祖解米甯浦都辛乐从薄季植秋喻虞云邝寇宫褚项印卓劳师席桂荀商隆封邴楼刑蒯盖那冷富郁慕敖冀丛牟卫明木茹沙芮郎狄满鞠公国鱼别南逯惠吉桑经隗丰卿平屠芦钮廉幸查訾宣濮阴容年帅诸干步买水寿利郗储竺闻哈靖逄雍鄂蓬历扈衡宓东滑融汲通扶广牧糜山家怀空羿能璩宰看宦钭贲湛松凤咸七堵归度殴';
select ROUND(LENGTH(@firstname)*rand());# 根据字符串长度生成随机数

select SUBSTRING(@firstname,ROUND(100*rand()),1); #获取姓氏
select SUBSTRING(@secondname,ROUND(150*rand()),1);#获取名1
select SUBSTRING(@secondname,ROUND(150*rand()),1);#获取名2
SELECT CONCAT(SUBSTRING(@firstname,ROUND(100*rand()),1),SUBSTRING(@secondname,ROUND(150*rand()),1),SUBSTRING(@secondname,ROUND(150*rand()),1));#拼接姓名

最终数据
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值