多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 用MySQL里的Rand()生成 不連續重復 的隨機數年齡以及隨機姓名字符串

用MySQL里的Rand()生成 不連續重復 的隨機數年齡以及隨機姓名字符串

來源:程序員人生   發布時間:2014-09-15 15:10:57 閱讀次數:3883次

前言:
        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());  -- 年齡為20-50的隨機
insert into user1 values(null,fullname,age);  -- 插入數據
set i = i + 1; 
end while;
end
$$
delimiter ;

(3),執行結果
call pro3(100); -- 執行過程
出現的結果出乎意料,出現了很多連續一樣的姓名,執行結果如下:
mysql> select * from user1;
+-----+--------+-----+
| id  | name   | age |
+-----+--------+-----+
|   1 | 趙三       |  28 |
|   2 | 孫一四      |  50 |
|   3 | 鄭丁九      |  42 |
|   4 | 王八       |  47 |
|   5 | 錢六      |  48 |
|   6 | 李五       |  26 |
|   7 | 李五       |  41 |
|   8 | 鄭二三      |  22 |
|   9 | 孫七六       |  24 |
|  10 | 孫三       |  21 |
|  11 | 錢甲二     |  26 |
|  12 | 孫丙       |  42 |
|  13 | 孫丙       |  37 |
|  14 | 趙六丁       |  24 |
|  15 | 趙六丁       |  40 |
|  16 | 王十七      |  28 |
|  17 | 孫九       |  22 |
|  18 | 李二       |  23 |
|  19 | 李十      |  23 |
|  20 | 趙丁甲      |  50 |
|  21 | 錢一九     |  49 |
|  22 | 錢一九     |  22 |
|  23 | 錢一九     |  30 |
|  24 | 錢一九     |  30 |
|  25 | 孫五       |  46 |
|  26 | 吳三十      |  39 |
|  27 | 趙七二      |  50 |
|  28 | 趙七二      |  29 |
|  29 | 孫甲九      |  20 |
|  30 | 鄭乙十     |  35 |
|  31 | 周一      |  50 |
|  32 | 吳甲七       |  50 |
|  33 | 李丁十     |  47 |
|  34 | 李丁十     |  29 |
|  35 | 李丁十     |  40 |
|  36 | 孫五       |  47 |
|  37 | 趙九丙     |  41 |
|  38 | 鄭三八      |  43 |
|  39 | 錢七      |  37 |
|  40 | 錢二一     |  24 |
|  41 | 王七五       |  45 |
|  42 | 李十四      |  24 |
|  43 | 李十四      |  28 |
|  44 | 孫甲甲      |  49 |
|  45 | 鄭五      |  38 |
|  46 | 趙甲      |  27 |
|  47 | 王三       |  39 |
|  48 | 王三       |  26 |
|  49 | 王三       |  22 |
|  50 | 王三       |  30 |
|  51 | 錢一九     |  44 |
|  52 | 趙四       |  30 |
|  53 | 王十九      |  50 |
|  54 | 王十九      |  34 |
|  55 | 王十九      |  40 |
|  56 | 周丙甲      |  20 |
|  57 | 孫十      |  47 |
|  58 | 王丙       |  32 |
|  59 | 王六       |  43 |
|  60 | 吳三甲       |  29 |
|  61 | 王乙       |  26 |
|  62 | 趙甲      |  46 |
|  63 | 趙甲      |  23 |
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 亚洲国产一区二区三区精品 | 视频在线观看免费网址 | 深爱激情五月婷婷 | 2021国产成人午夜精品 | 在线亚洲一区 | 中文字幕永久视频 | 国产成人久久精品一区二区三区 | 成人午夜大片免费视频77777 | 精品无码久久久久国产 | 一级日韩| www操| www一级片 | 久久久亚洲欧洲国产 | 亚洲全网成人资源在线观看 | 性xxxxbbbb免费播放视频 | jizz日本免费 | 在线亚洲日产一区二区 | 国产福利视频一区二区三区 | 在线观看av网站永久 | 亚洲乱码一二三四区国产 | 老妇毛片久久久久久久久 | 91麻豆精品国产综合久久久 | 国产资源中文字幕 | 97影院午夜在线观看琪琪 | 天天综合网天天做天天受 | 国产精品性 | 最近中文字幕无吗高清视频 | 一级毛片高清大全免费观看 | 国产番号| 一区二区三区日韩 | 2021年最新久久久视精品爱 | 精品久久国产视频 | 免费xxxxx在线观看网站 | 91嫩草国产在线观看免费 | 日本不卡视频网站 | 国产v片 | 欧美性xx| 国产永久免费高清在线观看视频 | 欧美极品videosex性欧美 | 久草在线观看首页 | 亚洲成a人片 |