mysql生成随机中文名,用MySQL里的Rand()生成 不连续重复 的随机数年龄以及随机姓名字符串...

前言:

RAND函数,返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。

一,朋友问题描述如下:

(1),有一个用户表,有id,用户的真实名字,年龄。

通过一段存储过程来实现向表里插入100数据,其中年龄随机

姓名

姓氏:’赵钱孙李周吴郑王’;,随机取出一个

名字:’一段文字字符串’,随机的取出一个字或者两个字

要求:随机的名字不能出现连续重复。

(2),然后我写出的代码如下:

-- 创建用户表,在project里

create table user1 (

id int not null primary key auto_increment,

name varchar(3) not null,

age tinyint not null

) charset utf8;

-- 创建存储过程

delimiter $$

create procedure pro3(num int)

begin

declare fname char(1);

declare name1 char(1);

declare name2 char(1);

declare fullname varchar(3);

declare age int;

declare i int default 1;

while i <=num do

set fname = substring('赵钱孙李周吴郑王',floor(1+8*rand()),1);  -- 姓

set name1 = substring('一二三四五六七八九十甲乙丙丁',floor(1+14*rand()),1); -- 抽一个字

set name2 = substring('一二三四五六七八九十甲乙丙丁',floor(1+14*rand()),1); -- 抽一个字

if round(rand())=0 then  -- 创造一个局部变量fullname代表全名,随机确定是两个字还是三个字

set fullname = concat(fname,name1);

end if;

if round(rand())=1 then

set fullname = concat(fname,name1,name2);

end if;

set age = floor(20+31*rand());  -- 年龄为2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值