创建海量表

create table emp(

empno mediumint unsigned not null default 0,

name varchar(20) not null default '',

)engine = MyISAM default charset = utf8; 

 

#随机产生字符串

#定义一个新的命令结束符,防止创建存储过程中冲突

delimiter $$

#删除自定函数

drop function rand_string $$

 

#创建函数  rand_string(n INT)  #(n INT)该函数接收一个整数

creat function rand_string(n INT)

returns varchar(255) #随机返回指定n长度的一个字符串

begin

#定义一个变量 chars_str varchar (100) 默认值为 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'

declare chars_str varchar(100) default 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

declare return_str varchar(255) default '';

declare i int default 0;

while i < n do

  set return_str = concat(return_str, substring(chars_str, floor(1+rand()*62),1));

  set i = i + 1;

  end while;

  return return_str;

  end $$

 

 

#随机添加max_num条,编号从start开始

#创建存储过程

create procedure insert_values(in start int(10), in max_num int(10))

begin

declare i int default 0;

#set autocommit = 0 关闭自动提交

set autocommit = 0;

repeat 

set i = i+1;

#插入数据表

insert into emp values ((start+i), rand_string(6), rand_num());

until i = max_num

end repeat;

#手动提交

commit;

end $$

 

#调用存储

call insert_values(0, 8000000)$$

如果执行Mysql出现错误号为1418时,可以设置log_bin_trust_routine_creators=1,有3种方法

1、在客户端执行 SET GLOBAL log_bin_trust_routine_creators=1;

2、在mysql配置文件my.ini或my.cnf中[mysql]段上添加log-bin-trust-routine-creators=1

3、mysql启动时 加上--log-bin-trust-routine-creators=1

 

转载于:https://www.cnblogs.com/linchv587/p/8398430.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值