天天看点

mysql批量插入500条数据

1

<code>表格结构如下</code>

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

<a href="https://s4.51cto.com/wyfs02/M01/9E/53/wKiom1mOl_2xEMqsAAA5NX-pdNU972.png" target="_blank"></a>

总共批量生成500个。

解决思路:

可以用mysql 存储过程

如果linux环境下可以用shell

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

2

3

4

5

6

7

8

9

10

11

<code>DELIMITER ;;      </code><code>##定义;;为结束符</code>

<code>CREATE PROCEDURE test_insert()    </code><code>##创建存储过程  test_insert()是名字</code>

<code>BEGIN </code>

<code>DECLARE y int DEFAULT 1 ;        </code><code>##定义y 为整数 默认起始值为1</code>

<code>WHILE y&lt;500</code>

<code>DO</code>

<code>insert into test1(name,password,reallyName,age,profession,email,question,result)  values(concat(</code><code>'test'</code><code>,y),concat(</code><code>'test'</code><code>,y),</code><code>'jiang'</code><code>,30,</code><code>'hello'</code><code>,</code><code>'hello'</code><code>,</code><code>'hello'</code><code>,</code><code>'hello'</code><code>); </code>

<code>SET y=y+1;       </code><code>##y数值加1</code>

<code>END WHILE ; </code>

<code>commit; </code>

<code>END;;</code>

定义完成存储过程test_insert()    

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

期间遇到的问题:

开始的时候,

<code>DECLARE y int DEFAULT 1 </code>

<code>考完不周全,这条命令我写成了:</code>

<code>DECLARE y TINYINT DEFAULT 1 </code>

<code>存储过程建立后,执行死循环,而且插入的y最大值为127,</code>

<code>后面检查原因,发现  tinyint 最大值为127</code>

<code>改成int后,执行成功。</code>

本文转自 am2012 51CTO博客,原文链接:http://blog.51cto.com/goome/1955738