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);
  • 相关阅读:
    小程序_递归求年纪
    小程序_递归求阶层
    把字符串复制到剪贴板
    主流的三种RF方案及其优缺点比较
    CC1100E的ESD指标?
    delphi怎样打开一个文本文件
    CC1100模块 250K的速率的问题
    delphi 中显示access数据库表怎么实现
    delphi与Access数据库连接的步骤
    数据库基本语句
  • 原文地址:https://www.cnblogs.com/oukele/p/9664824.html
Copyright © 2011-2022 走看看