使用 RDBMS 数据库测试数据创建?
Test data creation using RDBMS database?
我正在尝试创建一些测试数据,这意味着用于使用 MariaDB 表和数据库的假数据。
我需要使用 SQL RDBMS 创建一些伪造的随机数据。那么,为什么不使用 Mockaroo.com ,但在那个网站上我一次只能做 1000 行。这非常耗时。
如何创建随机的假数据。吨它。例如,假设我想要 200 万行带有 ID、名称、地址、PHONE、电子邮件的随机数据。
是的,
您可以使用 MariaDB 轻松完成:
这是一个序列引擎,这就是您所需要的。
这里是示例
此示例将数据(使用 SELECT 创建)存储在 table "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 | 1@dumymail.xx |
| 2 | NAME FROM:2 | ADR:2 | 6555866 | 2@dumymail.xx |
| 3 | NAME FROM:3 | ADR:3 | 9057698 | 3@dumymail.xx |
| 4 | NAME FROM:4 | ADR:4 | 1559529 | 4@dumymail.xx |
| 5 | NAME FROM:5 | ADR:5 | 4061360 | 5@dumymail.xx |
| 6 | NAME FROM:6 | ADR:6 | 6563191 | 6@dumymail.xx |
| 7 | NAME FROM:7 | ADR:7 | 9065022 | 7@dumymail.xx |
| 8 | NAME FROM:8 | ADR:8 | 1566853 | 8@dumymail.xx |
| 9 | NAME FROM:9 | ADR:9 | 4068684 | 9@dumymail.xx |
| 10 | NAME FROM:10 | ADR:10 | 6570515 | 10@dumymail.xx |
+-----+--------------------------+--------------------+---------------------------------+----------------------------+
10 rows in set (0.00 sec)
MariaDB [mysql]>
我正在尝试创建一些测试数据,这意味着用于使用 MariaDB 表和数据库的假数据。
我需要使用 SQL RDBMS 创建一些伪造的随机数据。那么,为什么不使用 Mockaroo.com ,但在那个网站上我一次只能做 1000 行。这非常耗时。
如何创建随机的假数据。吨它。例如,假设我想要 200 万行带有 ID、名称、地址、PHONE、电子邮件的随机数据。
是的,
您可以使用 MariaDB 轻松完成:
这是一个序列引擎,这就是您所需要的。
这里是示例
此示例将数据(使用 SELECT 创建)存储在 table "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 | 1@dumymail.xx |
| 2 | NAME FROM:2 | ADR:2 | 6555866 | 2@dumymail.xx |
| 3 | NAME FROM:3 | ADR:3 | 9057698 | 3@dumymail.xx |
| 4 | NAME FROM:4 | ADR:4 | 1559529 | 4@dumymail.xx |
| 5 | NAME FROM:5 | ADR:5 | 4061360 | 5@dumymail.xx |
| 6 | NAME FROM:6 | ADR:6 | 6563191 | 6@dumymail.xx |
| 7 | NAME FROM:7 | ADR:7 | 9065022 | 7@dumymail.xx |
| 8 | NAME FROM:8 | ADR:8 | 1566853 | 8@dumymail.xx |
| 9 | NAME FROM:9 | ADR:9 | 4068684 | 9@dumymail.xx |
| 10 | NAME FROM:10 | ADR:10 | 6570515 | 10@dumymail.xx |
+-----+--------------------------+--------------------+---------------------------------+----------------------------+
10 rows in set (0.00 sec)
MariaDB [mysql]>