mysql批量插入500条数据

表格结构如下

需求name和password字段,生成如下格式:

总共批量生成500个。

解决思路:

  1. 可以用mysql 存储过程
  2. 如果linux环境下可以用shell

我们先测试第一种,用存储过程。

DELIMITER ;;      ##定义;;为结束符
CREATE PROCEDURE test_insert()    ##创建存储过程  test_insert()是名字
BEGIN 
DECLARE y int DEFAULT 1 ;        ##定义y 为整数 默认起始值为1
WHILE y<500
DO
insert into test1(name,password,reallyName,age,profession,email,question,result)  values(concat(‘test‘,y),concat(‘test‘,y),‘jiang‘,30,‘hello‘,‘hello‘,‘hello‘,‘hello‘); 
SET y=y+1;       ##y数值加1
END WHILE ; 
commit; 
END;;

定义完成存储过程test_insert()

执行命令 call test_insert()   自动生成500条数据

期间遇到的问题:

开始的时候,

DECLARE y int DEFAULT 1 
考完不周全,这条命令我写成了:
DECLARE y TINYINT DEFAULT 1 

存储过程建立后,执行死循环,而且插入的y最大值为127,
后面检查原因,发现  tinyint 最大值为127
改成int后,执行成功。
时间: 2024-08-10 21:28:50

mysql批量插入500条数据的相关文章

mysql命令行批量插入100条数据命令

先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为";" 如何通过mysql命令行批量插入100条数据呢,可以在代码里实现,也可以通过命令行,也就是通过存储过程: delimiter $$create procedure myproc ()begindeclare num int ;set num = 1 ;while num < 100 d

Mybatis 批量插入多条数据,使用场景:导入多条数据

Mybatis 批量插入多条数据,使用场景:导入多条数据 接口代码: void batchInsertCapacity(@Param("list")List<Map<String, Object>> metadbmaplist); SQL: <insert id="batchInsertCapacity"> insert into index_prodcut ( ID, ORG_ID, TEXT1, TEXT2, TEXT3, P

用一句mysql语句插入多条数据

假如有一个数据表A: id name title addtime 如果需要插入n条数据 : $time= time(); $data = array(    array(      'name'=>'name1','title'=>'title1','addtime'=>$time;    ),    array(      'name'=>'name2','title'=>'title2','addtime'=>$time;    ),    array(      

python连接mysql循环插入千万条数据脚本

之前都是在mysql的存储过程中插入数据,毕竟mysql语法函数有限,很多都有限制.突然想到学了python正好可以练练手. 首先需要安装pymysql模块包(模块包安装请自行百度) 1 #encoding:utf-8 2 import pymysql 3 import time 4 import random 5 #连接mysql 6 db = pymysql.connect('14.29.249.74','kx_admin','Yjh7yC0L7L1G1k6qXKwb','ilock') 7

使用SqlBulkCopy批量插入多条数据进入表中

由于工作中项目需求结算一次生成一批相同批次号的数据插入一个表中,然后再通过另一页面展示出来,所以需要用到一次性插入一批数据,所以就采用了SqlBulkCopy插入一批数据 1 public static int InsertSettlementRecord(SqlConnection connection, List<InventorySettlement> model) 2 { 3 DataTable dt = GetTableSchema(); 4 SqlBulkCopy bulkCopy

mysql批量插入数据

review代码发现,同事mysql批量插入数据的实现方法是,用for循环遍历,将列表每个数据单次插入.相当于批量插入N条数据,进行了n次的数据库连接和插入操作. 底层有批量插入的方法,但是会有问题,所以已经停用,看下面实现是,取到一个数据库连接,来处理后面所有的插入操作.若这个列表ops所有的sql语句执行的数据库都是同一个的话,就没什么问题,若里面存在散库的情况,只要跟第一个不在同一个库的,都会执行失败. public void insertBatch(List<OpBatchUpdate>

mysql 批量插入与单条插入 的效率比较

1.数据插入性能(单个插入和批量插入) [java] view plain copy public class Test { private Long id; private String test; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTest() { return test; } public void setTest(String t

mysql 一次性插入上万条数据测试专用

无聊期间 记录下 mysql 一次性插入上万条数据 测试的时候可以用 首先 创建一个表 t3 create table t3(id int)ENGINE = MyISAM; \d //    表示吧mysql 的结束标志改成 //   默认情况下  mysql 的结束标志是 ; 这样 创建一个procedure  方法 最后end  //   表示结束 最后用 \d ;   吧mysql原生的结束符号; 换回来 我这里就不贴出来了. 使用命令 call p3; (呼叫p3 搬砖了 :-) ) 最

jdbc:mysql和oracle插入一条数据返回主键

package org.sin.common.dao; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import or