用存储过程、loadfile和数据工厂造数据

使用存储过程批量造数据
delimiter $$; # 为了改结束符,遇到$$;结束执行,这样可以一直插入数据
create procedure big_data(num int) # 代表要造多少条数据
begin
declare i int;
set i = 0;
while i < num do
insert into blk(stu_name,money) values(concat('manu',i),20); # concat的作用是连接不同类型的数据,把字符串和数字拼接到一起
set i = i + 1;
end while;
end
$$;
delimiter; # 最后遇到;结束执行
call big_data(500); # 调用

 

使用loadfile批量造数据:
将bugfree数据库中事先有数据的表(student)导出到本机上,导出过程中有一个栏位分隔符,选择用逗号或分号分开,别的好像也可以,不过没试过,保存在如d:\23.txt里,然后将23.txt这个文件上传到虚拟机的一个目录下,如tmp,此时23.txt的路径变为/tmp/23.txt,在bugfree数据库中事先建一个和表(student)数据结构一样的表,如student2,接下来在虚拟机中mysql客户端输入如下命令:
load data infile '/tmp/23.txt' into table bugfree.student2 fields terminated by ';';,点击回车,造数据成功了

 

用datafactory(数据工厂)往bugfree数据库中随便建立表插入3000条数据
步骤如下:
datafactory:
首先要安装

双击,在生成的Quest Keymaker图中选择下拉框中的Data  Factory,在Site Message里随便输入一个名字,如abc,点击Generate按钮,生成Authentication Key,将其复制粘贴到

,Site Message里输入abc,点击下一步就进来了,选择odbc,下一步

 

点击下图的DBC Administrator按钮,如下图:

 

弹出如下图:

 

选择Excel Files,然后点击添加按钮,弹出如下图:

 

选择MySQL ODBC 5.3 Unicode Driver,点击完成按钮,弹出如下图:

 

Data Source Name:随便,如123
Description:随便,如123
TCP/IP Server:虚拟机ip 192.168.2.115
User:root
Password:123456
Database:bugfree(mysql客户端连接上bugfree数据库后,下拉框里才能看到)
之后Test按钮,连接成功后,点击OK按钮,弹出如下图:

 

在Data Source里输入刚才由创建的步骤里面的里面的数据源,Username为root,Password是123456(我后来修改的),用mysql客户端连bugfree数据库,连接名随意,主机名是虚拟机ip,如192.168.2.115,bugfree数据库密码默认为空,要开启远程连接才能在机器上连接bugfree数据库,参考文档如下

按照里面的步骤进行连接,点击连接测试,如果连不上,输入ln -s /opt/lampp/bin/mysql/usr/bin,然后再用mysql -h localhost -u root -p命令进入mysql客户端,文档上半部分执行完后,还是连不上就执行下半部分,下半部分从第四步开始执行,重置密码命令如下:
将里面的172.16.124.1改为%,密码改为123456,顶替coship,接下来按照文档的步骤往下走就行了,第6步可以不做,执行完后就能连接上bugfree数据库了,如下图:

 

进到mysql里看到了bugfree数据库,在查询里用sql语句创建表就可以了,创建表的命令如下:
create table student
(
id smallint(4) unsigned primary key not null auto_increment,
name varchar(20) not null
)engine=innodb default charset=utf8;

然后在进入datafactory里找到建好的表移到右边,按照步骤进行就可以了,如下图:

 

点击下一步按钮,跳转到如下页面:

 

点击完成按钮,跳转到数据工厂页面,如下图:

 

在datafactory里对建好的表字段进行设置,设置表的字段是id,如下图:

 

点击表studentinfo2,在下图中输入

 

要插入的数据3000,然后点击run,就可以看到插入成功的提示,回到mysql里select count(*) from studentinfo2查看是否插入了3000条,到此用datafactory(数据工厂)往bugfree数据库中随便建立表插入3000条数据完成了

posted @ 2021-03-03 09:34  laosun0204  阅读(218)  评论(0编辑  收藏  举报