介绍
这篇文章将为大家详细讲解有关怎么在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;; 强>
默认关闭只需要设置为1。因为表中设置mediumint字段创建函数可能会报错
<强>集全球log_bin_trust_function_creators=1; 强>
四。创建函数
<强> 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中插入大量数据