通过phpmyadmin ,创建procedure,

用于生成测试数据。

随机的用户名及手机号。

DELIMITER $$
CREATE PROCEDURE `sp_insert_test_users`(IN `para_count` INT)
BEGIN
DECLARE p_username varchar(50);
DECLARE p_countryCallingCode varchar(10) default '';
DECLARE p_phone varchar(20);
DECLARE p_all_phone varchar(20);
DECLARE p_create_time datetime;
DECLARE p_index int default 0;
DECLARE p_userid int default 0;
IF para_count > 0 THEN
SET p_create_time = NOW(); while p_index < para_count do select concat(
substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1),
substring('abcdefghijklmnopqrstuvwxyz', rand()*26 , 1)
) into p_username; select concat(
'',
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1),
substring('', rand()* 10 , 1)
) into p_phone; if not exists ( select 1 from users where username = p_username or phone = p_phone )
and length(p_username) = 8 and length(p_phone) = 11
then set p_all_phone = concat(p_countryCallingCode,';',p_phone); INSERT INTO `users`
(`username`, `countryCallingCode`, `phone`, `_phone`,
`group`, `created_at`, `updated_at`)
VALUES
(p_username,p_countryCallingCode,p_phone,p_all_phone,
'user', p_create_time, p_create_time); select @@IDENTITY into p_userid; INSERT INTO `users_test_mock`
(`userid`,`username`, `countryCallingCode`, `phone`)
VALUES
(p_userid,p_username,p_countryCallingCode,p_phone); SET p_index = p_index + 1; end if; end while; END IF; END$$
DELIMITER ;

调用:

call sp_insert_test_users(10);

phpmyadmin创建mysql的存储过程的更多相关文章

  1. MYSQL中存储过程的创建,调用及语法

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  2. 创建MySQL存储过程示例

    创建MySQL存储过程是学习MySQL数据库必须要掌握的知识,下文对创建MySQL存储过程作了详细的介绍,供您参考学习. AD:2013大数据全球技术峰会课程PPT下载 下文将教您如何创建MySQL存 ...

  3. phpMyAdmin中mysql的创建数据库时的编码的问题

    转载自新浪博客    Sean 一. mysql中utf8编码的utf8_bin,utf8_general_cs,utf8_general_ci的区别 utf8_general_ci 不区分大小写,这 ...

  4. mysql 内置功能 存储过程 创建无参存储过程

    操作哪个数据库,就把存储过程建到那个数据库 例如 现在use db2; 应该把存储过程 建立到db2数据库里 创建无参存储过程 delimiter // # 设置mysql结束符合为// create ...

  5. 使用Navicat 创建mysql存储过程,实现日期加流水号序列

    目的:使用Navicat 创建mysql存储过程,实现格式为8位日期(年月日)+5位流水号序列. 步骤: 1.打开Navicat 登录数据库,点击导航栏上的函数,如下图: 2.点击新建函数,选择“过程 ...

  6. Adminer - 类似于phpMyAdmin的MySQL管理客户端

    Adminer是一个类似于phpMyAdmin的MySQL管理客户端.整个程序只有一个PHP文件,易于使用和安装.Adminer支持多语言(已自带11种翻译语言文件,可以按自己的需求翻译相应的语言). ...

  7. mysql之存储过程

    一.存储过程     迄今为止,使用的大多数 SQL语句都是针对一个或多个表的单条语句.并非所有操作都这么简单,经常会有一个完整的操作需要多条语句才能完成.例如,考虑以下的情形.         1. ...

  8. [转]MySQL中存储过程权限问题

    MySQL中以用户执行存储过程的权限为EXECUTE 比如我们在名为configdb的数据库下创建了如下存储过程,存储过程的定义者为user_admin use configdb; drop proc ...

  9. MySQL的存储过程1

    来源:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html MySQL的存储过程 2. 关于MySQL的存储过程存储过程是数据库存储的一个重要的功能 ...

随机推荐

  1. 微软develop apps在QQ上部分功能的实现

    最近我对微软的develop apps的文档进行了简读,在感叹UWP在支持服务上的全面的同时,我不禁在在常用的APP上对于这些功能支持进行了部分的寻找对应.而我进行功能对照的,就是平时很常用的一款手机 ...

  2. 简单了解Django

    Django 是开源代码web应用的框架,由python完成,django的主要目的是简便,快速开发数据库驱动网站 主要用于测试,运维,自测. 1.下载Django. 个人建议使用命令pip inst ...

  3. 简单css实现input提示交互动画效果

    通过基础CSS实现输入提示交互动画效果,并兼容各浏览器! 1.效果展示 2.css代码 h4 { margin: 30px 0; } input { margin:; font-size: 16px; ...

  4. angular-指令

    ng-app 作用域 ng-init 声明 module 模块 ng-model 双向绑定 ng-bind 绑定 angular是一个MVC框架:即 M------------------module ...

  5. kafka中zookeeper的操作

    bin/zookeeper-shell.sh localhost:2181 <<< "get /brokers/ids/4" ./zkCli.sh -server ...

  6. Python小练习之判断一个日期是一年的第几天

    python练手遇到的一个问题写了个统一公式,不用麻烦的分各种类,如果有人测试出错误请评论通知. #分单双月 def dayNum(month,day,isLeap): if month % 2 != ...

  7. EmguCV使用Stitcher类来拼接图像

    using System; using System.Windows; using System.Collections.Generic; using System.ComponentModel; u ...

  8. VSCode插件开发全攻略(九)常用API总结

    更多文章请戳VSCode插件开发全攻略系列目录导航. 本文提炼一些常见的API使用场景供参考,本文内容有待完善. 编辑器相关 修改当前激活编辑器内容 替换当前编辑器全部内容: vscode.windo ...

  9. Android开发 - 掌握ConstraintLayout(八)障碍线(Barrier)

    本文我们来介绍障碍线(Barrier)的使用,平常在开发中用的相对要少一些,但是在需要时会非常方便. 它的作用是将多个元素放到这个障碍线里面使时,其中的任何元素的大小或位置变化时都会使它的位置进行改变 ...

  10. BCrypt实现密码的加密

    这里设计到一个新的知识点,下来准备找找资料学习一下:Spring Security 我们都知道,密码这种东西存到数据库是不能以明文直接存入的,而是要经过加密,而且加密还颇多讲究 比如以前的 MD5加密 ...