zoukankan      html  css  js  c++  java
  • MariaDB(MySql)使用储存过程和随机函数插入10万条数据

    #定义一个表
    create
    table demo (id int , name varchar(100))default charset =utf8; #定义一个随机切割字符串的函数 delimiter // create function randStr() returns varchar(50) begin declare str varchar(30) default 'ASDFGHJKLZXCVBNMQWERTYUIOP'; return (substr(str,floor(1 + rand() * 26))); end // delimiter ; #查看自定义函数的返回值 select randStr();

    #定义一个随机字符串的函数,int varchar int+varchar类型
    # randStr(3,1) --> 返回 3 个 长度的字符的varhcar类型
    #判断 此函数存在不存在,存在删除。
    drop
    function if exists randStr;
    #定义 语句 结束符 delimiter
    // create function randStr(size int, type int )
    #返回值的类型
    returns varchar(50) begin declare i int default 0; # 循环的步数 declare str varchar(30) default 'ASDFGHJKLZXCVBNMQWERTYUIOP';#字符类型 declare num int default '1234567890'; #整数类型 declare str_num varchar(40) default ''; declare return_str varchar(255) default ''; #用一个变量 保存 将要返回的值
     #判断 type 的 传递进来的数值,给 str_num 赋值
    set str_num = case type when 1 then str when 2 then num    else concat(str,num) end ;
     #循环截取内容
    while i<size do   set i = i+1; set return_str = concat( return_str, substring(str_num, floor(length(str_num) * rand() + 1), 1) ); end while;
     #返回值  
    return ( return_str ); end // delimiter ;

    #插入100000条数据 
    delimiter //
    create procedure insert_data(num int)
    begin
        declare i int default 1 ;
        set autocommit = 0; #将事物关闭
        while i<=num do 
            set i =i+1;
            insert into demo values (i,concat(i,randStr()));
        end while;
    commit ;
    end //
    delimiter ;
    #调用存储过程
    call insert_data(100000);
  • 相关阅读:
    聊一聊Flutter的setState()
    Flutter + Android 混合开发
    Flutter防止布局溢出
    Flutter获取远程数据 刷新UI界面
    Flutter日常笔记
    POJ 3299 Humidex
    POJ 1207 The 3n + 1 problem
    POJ 1005 I Think I Need a Houseboat
    POJ 1004 Financial Management
    POJ1012
  • 原文地址:https://www.cnblogs.com/oukele/p/9664824.html
Copyright © 2011-2022 走看看