1.首先建立一张student表函数
create table(id int(20) NOT NULL AUTO_INCREMENT,sex char(1),name varchar(20));spa
2.建立两个随机函数,用来生成用户名和性别string
#随机生成name
delimiter $$
CREATE FUNCTION rand_name(n INT)
RETURNS VARCHAR(20)
BEGIN
DECLARE chars_str varchar(100) DEFAULT
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
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));#52表明在52个字母中随即找出一个
SET i = i +1;
END WHILE;
RETURN return_str;
END
$$it
#随机生成性别
delimiter $$
CREATE FUNCTION rand_sex(n INT)
RETURNS VARCHAR(20)
BEGIN
DECLARE chars_str varchar(100) DEFAULT '01';
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()*2 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END
$$
table
3.写存储过程,思路是首先生成数据,而后一块儿commitim
delimiter $$
CREATE PROCEDURE insertData()
begin
set @a=1; #学号
SET autocommit=0;
while @a<100000000 do #若是@a<2000010001则返回true,继续执行
#若是@a<2000010001则返回true,继续执行
set @b=rand_name(5); #姓名,随即赋值,值为5位a-zA-Z的任意组合
set @c=rand_sex(1); #性别,随即赋值,值为1位,0或者1
insert into student(name,sex) values(@b,@c);
set @a=@a+1;
end while;
COMMIT;
End
$$
数据