怎么在Mysql中插入大量数据

  介绍

这篇文章将为大家详细讲解有关怎么在Mysql中插入大量数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一。创建数据库

怎么在Mysql中插入大量数据

二。创建表

<强> 1。创建部门表

CREATE  TABLE “部门”,(   ,“id”int (11), NOT 空,   ,“deptno”mediumint (9), DEFAULT 空,   ,‘dname varchar (20), DEFAULT 空,   ,“疯狂的”varchar (13), DEFAULT 空,   ,PRIMARY  KEY  (id)   ),引擎=InnoDB  DEFAULT  CHARSET=use utf8;

<强> 2。创建emp表

CREATE  TABLE “emp”, (   ,“id”int (11), NOT 空,   ,‘empon mediumint (9), DEFAULT  NULL  COMMENT  & # 39;编号& # 39;,   ,‘ename varchar (20), DEFAULT 空,   ,“工作”varchar (9), DEFAULT 空,   ,“下”mediumint (9), DEFAULT  NULL  COMMENT  & # 39;上级编号& # 39;,   ,‘hirdate datetime  DEFAULT  NULL  COMMENT  & # 39;入职时间& # 39;,   ,萨尔的小数(7,2),DEFAULT  NULL  COMMENT  & # 39;薪水& # 39;,   ,“通讯”decimal (7, 2), DEFAULT  NULL  COMMENT  & # 39;红利& # 39;,   ,“deptno”mediumint (9), DEFAULT  NULL  COMMENT  & # 39;部门编号& # 39;,   ,PRIMARY  KEY  (id)   ),引擎=InnoDB  DEFAULT  CHARSET=use utf8;

三。设置参数

<强>显示变量如& # 39;log_bin_trust_function_creators& # 39;;

怎么在Mysql中插入大量数据

默认关闭只需要设置为1。因为表中设置mediumint字段创建函数可能会报错

<强>集全球log_bin_trust_function_creators=1;

怎么在Mysql中插入大量数据

四。创建函数

<强> 1。随机产生字符串

DELIMITER 美元   CREATE  FUNCTION  RAND_STR (n  INT), RETURNS  VARCHAR (255)   开始   ,DECLARE  chars_str  VARCHAR (100), DEFAULT  & # 39; abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ& # 39;,,   ,DECLARE  return_str  VARCHAR (255), DEFAULT  & # 39; & # 39;;   ,DECLARE 小姐:INT  DEFAULT  0;   ,WHILE  i

<强> 2。随机产生部门编号

DELIMITER 美元   CREATE  FUNCTION  RAND_num (), INT RETURNS  (5)   开始   ,DECLARE 小姐:INT  DEFAULT  0;,   ,SET  i=,地板(100 + RAND () * 10);   ,RETURN 我;   最终获得

五美元。创建存储过程

<强> 1。emp表存储过程

DELIMITER 美元   CREATE  PROCEDURE  insert_emp (START 拷贝;INT(10),拷贝max_num  INT (10))   开始   DECLARE 才能小姐:INT  DEFAULT  0;   SET  autocommit =, 0;   REPEAT  #重复   SET 小姐:=,小姐:+,1;   INSERT  INTO 电磁脉冲(hiredate empon ename,工作,经理,萨尔,通讯,depton), VALUES  ((+ i)开始,RAND_STR(6) & # 39;推销员# 39;,0001年,CURDATE(), 2000年,400年,RAND_num ());   ,UNTIL 小姐:=max_num   ,最终获得;重复;   ,提交;   最终获得$

<强> 2.部门表存储过程

DELIMITER 美元   CREATE  PROCEDURE  insert_dept (START 拷贝;INT(10),拷贝max_num  INT (10))   开始   DECLARE 才能小姐:INT  DEFAULT  0;   SET  autocommit =, 0;   REPEAT  #重复   SET 小姐:=,小姐:+,1;   INSERT  INTO 部门(deptno, dname loc), VALUES  ((+ i)开始,RAND_STR (10), RAND_STR (8));   ,UNTIL 小姐:=max_num   ,最终获得;重复;   ,提交;   最终获得

六美元。执行

<强> 1。先执行十条

怎么在Mysql中插入大量数据

<强>这个错误是一个小坑发现了吗我之前留下的,根据提示去排查吧,

怎么在Mysql中插入大量数据