天天看點

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