270_DBA_造数_造表

举报
alexsully 发表于 2022/01/21 09:44:07 2022/01/21
【摘要】 测试表create table single_table (id int not null auto_increment,key1 varchar(100),key2 varchar(100),key3 VARCHAR(100),key_part1 varchar(100),key_part2 varchar(100),key_part3 varchar(100),commen_field ...

测试表

create table single_table (

id int not null auto_increment,
key1 varchar(100),
key2 varchar(100),
key3 VARCHAR(100),
key_part1 varchar(100),
key_part2 varchar(100),
key_part3 varchar(100),
commen_field varchar(100),

PRIMARY KEY(id), key key1(key1), UNIQUE key uk_key2(key2), key idx_key3(key3), key idx_key_part(key_part1, key_part2, key_part3)
)

造数 

delimiter $$
create function rand_string(n int) returns varchar(255)
begin
declare chars_str varchar(100) default 'abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ';
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()*52),1));
set i=i+1;
end while;
return return_str;
end 
$$

select rand_string(20)

delimiter $$
create function rand_num() returns int(5)
begin
declare i int default 0;
set i = floor(100+rand()*10);
return i;
end 
$$

select rand_num()
SELECT UUID()

插入

delimiter // 
drop function if exists insert_single_table//
create function insert_single_table(in_len int(11)) returns int(11)
begin  
  declare cur_len int(11) default 0;
   
  while cur_len < in_len do
     insert into single_table(key1,key2,key3,key_part1,key_part2,key_part3,commen_field) values(rand_string(10),uuid(),rand_string(15),rand_string(10),rand_string(10),rand_string(10),rand_string(20));
  set cur_len = cur_len + 1;

  end while; 
  return cur_len;
end  
//
delimiter ;

select insert_single_table(100000);

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。