mysql 自定义函数,生成 n 个字符长度的随机字符串

-- sql function

delimiter $$
create function rand_str(n int) returns VARCHAR(255)
BEGIN declare str VARCHAR(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSQUVWXYZ';
declare i int DEFAULT 0;
declare res_str VARCHAR(255) default ''; while i < n do
set res_str = concat(res_str,substr(str,FLOOR(rand()*52+1),1));
set i = i + 1;
end while;
return res_str; end$$
delimiter ;

写好之后,运行一下,运行成功后,可以在函数下看到刚刚自定义的函数

然后,调用一下

SELECT rand_str(3);  -- 生成3个字符的随机字母

写一个存储过程,

实现功能:insert_emp2(2,10) 从2开始,插入10条数据

delimiter $$
create procedure insert_emp2(in startNum int ,in max_num int)
BEGIN
-- 声明一个变量记录当前是第几条
declare i int DEFAULT 0; -- 默认情况下是自动提交sql
set autocommit = 0; -- 禁止自动提交sql -- 循环
repeat set i = i + 1;
-- 插入数据 id 增加, name 随机,年龄随机
insert into emp2 values (startNum + i,rand_str(5),floor(10+rand()*30)); until i = max_num
end repeat ; commit; -- 待循环完毕后再进行提交,即整体提交整体的 sql,这样可以提高效率,否则循环里会一次一次的去提交sql,数据多了会很慢。 end$$
delimiter$$

然后,调用 存储过程:

call insert_emp2(100,10000000);  --插入一千万条数据进去

等几分钟

。。。。

好久啊

这么久来 还没创建好

我的天呐

。。。。。

hello

我去

后悔了,一千万有点太多了

mysql自定义函数并在存储过程中调用,生成一千万条数据的更多相关文章

  1. python自定义函数在Python解释器中调用

    https://docs.python.org/2.7/tutorial/modules.html Modules If you quit from the Python interpreter an ...

  2. java mysql自定义函数UDF之调用c函数

    正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. goo ...

  3. MySQL自定义函数、触发器、存储过程

    存储过程 概念 存储过程,是一个数据库对象,类似一个函数. 在存储过程中可以使用SQL中的绝大部分内容,并且可以加入编程语言的特性(循环判断分支). 编写好存储过程之后,可以在客户端调用存储过程,存储 ...

  4. mysql自定义函数语法

    创建函数 DELIMITER $$DROP FUNCTION IF EXISTS `test` $$CREATE FUNCTION `test`(a int ,b int)RETURNS int BE ...

  5. mysql 自定义函数

    原文:http://www.cnblogs.com/zhangminghui/p/4113160.html 引言 MySQL本身提供了内置函数,这些函数的存在给我们日常的开发和数据操作带来了很大的便利 ...

  6. MySQL自定义函数(四十六)

    MySQL自定义函数 一.什么是MYSQL自定义函数? mysql当中的自定义函数,我们简称为UDF,它实际上是一种对MySQL扩展的途径,其用法与内置函数相同. 二.自定义函数应该具备哪些条件? 我 ...

  7. 存储过程中调用webservice

    存储过程中调用webservice其实是在数据库中利用系统函数调用OLE. 1.查找webservice api 可得到MSSOAP.SoapClient. 2.查找API 接口可得到mssoapin ...

  8. oracle中存储过程中调用存储过程

    存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in nu ...

  9. (转载)oracle 在一个存储过程中调用另一个返回游标的存储过程

    原文链接:http://www.jb51.net/article/20160.htm 实际项目当中经常需要在一个存储过程中调用另一个存储过程返回的游标,本文列举了两种情况讲述具体的操作方法. 第一种情 ...

随机推荐

  1. java中获取系统变量

    System.getProperty("java.version") 用来获取系统变量.getProperty()这个方法是获取指定键指示的系统属性的.以下是通过System.ge ...

  2. Echarts柱状图百分比显示

    option = { tooltip: { trigger: 'item', formatter:'{c}%' //这是关键,在需要的地方加上就行了 }, grid: { borderWidth: 0 ...

  3. 关于通过ServletContext获取数据出现的http500的错误的解决方案

    1.问题的简述 我创建了一个两个servlet以及一个jsp页面,假定给两个servlet分别命名(初始化数据servlet)和(数据处理servlet),jsp页面用于传递数据至数据处理servle ...

  4. WebView动态注入JavaScript脚本

    Demo地址:https://gitee.com/chenyangqi/YouMeDai 背景介绍 在Android与JavaScript交互一文中学习了原生和JS交互,但是如果我们想和别人开发好的w ...

  5. alpha阶段 代码结构及技术难点简介

    我们的产品是安卓端app,所以目前主要就是用Android Studio来进行代码开发. Android Studio的项目的结构还是比较清晰的,如下图,主要就是java文件夹内的代码部分(.java ...

  6. 【SPL标准库专题(1)】 SPL简介

    什么是SPL SPL是Standard PHP Library(PHP标准库)的缩写. 根据官方定义,它是"a collection of interfaces and classes th ...

  7. python基础一数据类型之集合

    摘要: python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合. 1,集合的定义 2,集合的功能 3,集合的方法 1,集合的定义 list1 = [1,4,5,7,3,6,7,9] set1 ...

  8. oracle 11.2.0.1 rman异机恢复 11.2.0.3(windows X64)

    问题原因: 误操作,需要时间点恢复. 备份情况:rman 备份,每天一次全备份,并且附带备份当天所有产生的archivelog,无expdp备份 恢复目标: 恢复到9号晚上21点数据 源系统:WIND ...

  9. [Visual Studio] [Config] [Transformation] [SlowCheetah] 在非Web工程中使用Transformation

    1. 为VS安装SlowCheetah插件 https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.Sl ...

  10. 减少MySQL的Sleep进程有效方法

    经常遇到很多朋友问到,他的MySQL中有很多Sleep进程,严重占用MySQL的资源,现在分析一下出现这种现象的原因和解决办法: 1,通常来说,MySQL出现大量Sleep进程是因为采用的PHP的My ...