找回密码
 立即注册
刘素 +好友
这个人很懒什么都没写
听众
9
主题
43
金钱
220
个人名片
  • 未填写地址
  • 这家伙很懒什么都没写
粉丝关注
还没有人关注TA
添加表情

5-13 储存过程之练习

已有 161 次阅读2019-5-13 19:29

11、现在有一个user用户表,需要往user表中插入2000个登录用户
要求如下:
1、在插入用户前先判断是否存在2000个登录用户,如果存在则统计表中实际的行数
如若不存在则自动补齐剩余的数据
2、表名为user,存储过程名字随意取,表中字段有id user_name user_pwd verify格式如下
(1,user1,123456,verify),且id、用户名不能重复,verify字段为随机生成的6位数验证码 。
CONCAT函数 可以把2个字符串进行连接。
11、现在有一个user用户表,需要往user表中插入2000个登录用户
要求如下:
1、在插入用户前先判断是否存在2000个登录用户,如果存在则统计表中实际的行数
如若不存在则自动补齐剩余的数据
2、表名为user,存储过程名字随意取,表中字段有id user_name user_pwd verify格式如下
(1,user1,123456,verify),且id、用户名不能重复,verify字段为随机生成的6位数验证码 。
CONCAT函数 可以把2个字符串进行连接。
drop procedure if exists user_pro;
create procedure user_pro(n int)
begin
 declare i int default (select count(*) from user);
 declare j varchar(255) default '';
 declare k varchar(255) default '';
 /*drop table if exists user;
 create table user(id int(20) primary key auto_increment,user_name varchar(20
 ),user_pwd int(20),verify varchar(20));
 insert into user values(1,'user1',123456,'n3jdas');*/
 if i>=n THEN  #i=1 n=2000
  select count(*) from user;
 ELSE
  while n > i DO
   set i=i+1;
   #1.验证码方法一
   #set k=(select SUBSTRING(MD5(rand()),1,6));
   #2.验证码方法二
   #set k=(select substring(MD5(RAND()),floor(RAND()*26)+1,6) as rand_str);
   #3.验证码方法三
   set k=(select rand_string(6)); #这个是调用了rand_string这个函数得到的返回值
   #4.验证码方法四
   set k =(select ceiling(rand()*500000)+500000);
   set j = (select concat('user',i));
   insert into user(user_name,user_pwd,verify)values(j,123456,k);
  end while;
 select * from user;
 end if;
END
call user_pro(56)


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册