gpt4 book ai didi

mysql - 如何用许多随机数填充 MySQL 表?

转载 作者:IT老高 更新时间:2023-10-28 23:46:17 27 4
gpt4 key购买 nike

我要问一个在 very 中提出的问题摘要 terms ,(可以理解)没有提供具体答案:

如何在 MySQL 提示符下创建和填充一个表 rand_numbers,其中包含一列 number INT 和 1111 行,其中 number 列包含一个介于 2222 和 5555 之间的随机数?

类似:

CREATE TABLE rand_numbers(number INT);

#run following line 1111 times
INSERT INTO rand_numbers (number) VALUES (2222 + CEIL( RAND() * 3333));

有人问过这个问题,但是 reliesexternal循环的语言或是far too general .我想知道是否可以从典型的 Linux MySQL 提示符中执行如此简单的操作。

最佳答案

要创建表,请使用:

CREATE TABLE rand_numbers (
number INT NOT NULL
) ENGINE = MYISAM;

然后用随机值填充它,你可以定义一个stored procedure (支持循环):

DELIMITER $$
CREATE PROCEDURE InsertRand(IN NumRows INT, IN MinVal INT, IN MaxVal INT)
BEGIN
DECLARE i INT;
SET i = 1;
START TRANSACTION;
WHILE i <= NumRows DO
INSERT INTO rand_numbers VALUES (MinVal + CEIL(RAND() * (MaxVal - MinVal)));
SET i = i + 1;
END WHILE;
COMMIT;
END$$
DELIMITER ;

CALL InsertRand(1111, 2222, 5555);

然后您可以重用该过程以根据不同的参数插入更多随机值。比如 600 行,随机值在 1200 到 8500 之间:

CALL InsertRand(600, 1200, 8500);

关于mysql - 如何用许多随机数填充 MySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042546/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com