【问题标题】:Test data creation using RDBMS database?使用 RDBMS 数据库创建测试数据?
【发布时间】:2016-05-14 08:13:34
【问题描述】:

我正在尝试创建一些 TEST DATA,这意味着用于玩 MariaDB 表和数据库的假数据。

我需要使用 SQL RDBMS 创建一些假随机数据。那么,为什么不使用 Mockaroo.com ,但在那个网站上我一次只能做 1000 行。这非常耗时。

如何创建随机虚假数据。吨。例如,假设我想要 200 万行具有 ID、NAME、ADDRESS、PHONE、EMAIL 的随机数据。

【问题讨论】:

  • 用 PHP 等语言编写脚本,生成随机数据并将其插入数据库。
  • 你用哪种语言写作?
  • @Barmar,我不懂PHP,写SQL编程代码怎么样?
  • @peregrine42 不懂任何语言。我可以从哪里开始?
  • 报名参加计算机编程课程。

标签: mysql database mariadb


【解决方案1】:

是的,

您可以使用 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 | 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]>

【讨论】:

  • @Barmar 错过了第一条评论。 :)
  • @MasterYoda 你认为INSERT INTO yourtable 会做什么?
  • 是的,我把它写成了我的回答的开始:尝试 **INSERT into theTable SELECT ...... from seq_1_to_1000。所以选定的数据将存储在表中
  • @BerndBuffen 谢谢! :-)
  • @Barmar 谢谢 :-)
猜你喜欢
  • 2023-01-28
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2013-04-15
相关资源
最近更新 更多