- 第一种方法利用Excel
传送门:blog.csdn.net/zhusongziye…
- 第二种方法利用存储过程
1: 创建表SQL
drop table if exists tb_lemon_student_score;
create table tb_lemon_student_score(
id int primary key auto_increment,
sName varchar(50),
phone varchar(11),
score tinyint(1)
);
2:编写存储过程:
-- 编写存储过程并保存
-- 完成特定功能:往数据库表新增一百万的数据:
-- 如果存在则删除
drop procedure if exists proc_batch_insert_data;
-- 创建存储过程
create procedure proc_batch_insert_data(in num int)
begin
-- 定义一个整型的变量
declare _id int;
-- 定义一个sName保存学生的名字
declare _sName varchar(20);
-- 定义_phone保存学生的手机号
declare _phone char(11);
-- 定义一个score保存学生的成绩
declare _score int;
-- 写上逻辑
-- 插入100条数据
-- 初始化变量的值为1
set _id=1;
-- while循环
while _id<=num do
-- sName等于s_拼接上不断变化的_id
set _sName = concat('s_',_id);
-- _phone等于13000000000加上不断变化的_id
set _phone = 13000000000+_id;
-- 通过mysql的随机函数生成一个分数
set _score = rand()*100;
insert into tb_lemon_student_score(sname,phone,score) values (_sName,_phone,_score);
-- 迭代语句,否则会死循环
set _id=_id+1;
end while;
end;
-- 3:运行存储过程
call proc_batch_insert_data(1000000);
附其他SQL:
-- 查询表中的所有数据
select * from tb_lemon_student_score;
-- 清空表中的所有数据
TRUNCATE tb_lemon_student_score;
-- 统计表记录数量
select count(1) from tb_lemon_student_score;
-- 查询最后100条数据
select * from tb_lemon_student_score ORDER BY id desc LIMIT 100;
- 第三种方法利用脚本语言生成百万数据,导入向导导入到表中
第一步:利用脚本语言生成txt文件
import random
for i in range(1,100):
phone=13000000000+i
score=random.randint(1,100)
print("%d|s_%d|%s|%d")%(i,i,phone,score)
#重定向到txt文件
python xxx.py > xxx.txt
第二步:通过load data infile命令导入数据库
load data infile 'xxx.txt' into table xxx fields terminated by '|'
- 第四种方法利用pymysql
传送门:www.cnblogs.com/blitheG/p/7…
- 第五种方法程序语言生成sql脚本,然后运行该sql脚本