2016-05-14 58 views
0

我正在嘗試創建一些測試數據,這意味着用於玩MariaDB表和數據庫的假數據。使用RDBMS數據庫創建測試數據?

我需要使用SQL RDBMS創建一些假的隨機數據。那麼,爲什麼不使用Mockaroo.com,但在該網站上,我一次只能做1000行。這是非常耗時的。

如何創建隨機僞造數據。它的噸。例如,讓我們說我想要帶有ID,名稱,地址,電話,電子郵件的2百萬行隨機數據。

+1

像PHP語言生成隨機數據,並將其插入到數據庫中寫一個腳本。 – Barmar

+0

你在寫什麼語言? – peregrine42

+0

@Barmar,我不知道PHP,編寫SQL編程代碼怎麼樣? –

回答

2

YES,

你可以做到這一點很容易與MariaDB的:

的是一個序列引擎,這是你所需要的。

這裏的樣品

並將該樣品的數據(與SELECT創建)存儲在表「yourtable」。

INSERT INTO yourtable 
SELECT seq,CONCAT('NAME FROM:',seq), CONCAT('ADR:',seq), CAST(RAND(SEQ)*10000000 AS INT),CONCAT(seq,'@dumymail.xx') FROM seq_1_to_1000000; 

這會產生這樣的:

MariaDB [mysql]> SELECT seq,CONCAT('NAME FROM:',seq), CONCAT('ADR:',seq), CAST(RAND(SEQ)*10000000 AS INT),CONCAT(seq,'@dumymail.xx') FROM seq_1_to_10; 
+-----+--------------------------+--------------------+---------------------------------+----------------------------+ 
| seq | CONCAT('NAME FROM:',seq) | CONCAT('ADR:',seq) | CAST(RAND(SEQ)*10000000 AS INT) | CONCAT(seq,'@dumymail.xx') | 
+-----+--------------------------+--------------------+---------------------------------+----------------------------+ 
| 1 | NAME FROM:1    | ADR:1    |       4054035 | [email protected]    | 
| 2 | NAME FROM:2    | ADR:2    |       6555866 | [email protected]    | 
| 3 | NAME FROM:3    | ADR:3    |       9057698 | [email protected]    | 
| 4 | NAME FROM:4    | ADR:4    |       1559529 | [email protected]    | 
| 5 | NAME FROM:5    | ADR:5    |       4061360 | [email protected]    | 
| 6 | NAME FROM:6    | ADR:6    |       6563191 | [email protected]    | 
| 7 | NAME FROM:7    | ADR:7    |       9065022 | [email protected]    | 
| 8 | NAME FROM:8    | ADR:8    |       1566853 | [email protected]    | 
| 9 | NAME FROM:9    | ADR:9    |       4068684 | [email protected]    | 
| 10 | NAME FROM:10    | ADR:10    |       6570515 | [email protected]    | 
+-----+--------------------------+--------------------+---------------------------------+----------------------------+ 
10 rows in set (0.00 sec) 

MariaDB [mysql]> 
+0

@Barmar錯過了第一條評論。 :) –

+0

@MasterYoda你怎麼看'INSERT INTO yourtable'呢? – Barmar

+0

是的,我寫了一個我的答案的開始:嘗試** INSERT到seq_1_to_1000的表SELECT ...中。所以選定的數據將存儲在表 –