>데이터 베이스 >MySQL 튜토리얼 >저장 프로시저를 사용하여 MySQL 테이블에 난수를 효율적으로 채우는 방법은 무엇입니까?

저장 프로시저를 사용하여 MySQL 테이블에 난수를 효율적으로 채우는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-25 01:50:02873검색

How to Efficiently Populate a MySQL Table with Random Numbers using a Stored Procedure?

난수로 MySQL 테이블 채우기: 절차적 접근 방식

난수로 MySQL 테이블을 생성하고 채우는 작업은 다음에서 직접 수행할 수 있습니다. 외부 언어나 지나치게 일반적인 솔루션을 사용하는 것과는 달리 MySQL 프롬프트입니다. 간단한 저장 프로시저를 사용하여 이를 달성하는 방법은 다음과 같습니다.

테이블 생성:

<code class="sql">CREATE TABLE rand_numbers (
    number INT NOT NULL
) ENGINE = MYISAM;</code>

데이터 채우기를 위한 저장 프로시저:

<code class="sql">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 ;</code>

특정 매개변수로 채우기:

'rand_numbers' 테이블을 2222에서 5555 사이의 난수 1111개 행으로 채우려면:

<code class="sql">CALL InsertRand(1111, 2222, 5555);</code>

다른 매개변수에 재사용:

저장 프로시저를 재사용하여 다양한 매개변수를 기반으로 더 많은 임의의 값을 삽입할 수 있습니다. 예를 들어, 1200에서 8500 사이의 임의 값이 포함된 600개의 행을 삽입하려면:

<code class="sql">CALL InsertRand(600, 1200, 8500);</code>

이 저장 프로시저 접근 방식을 사용하면 MySQL 테이블을 임의의 숫자로 쉽게 채울 수 있으므로 테이블 수를 유연하게 사용자 정의할 수 있습니다. 행과 값의 범위.

위 내용은 저장 프로시저를 사용하여 MySQL 테이블에 난수를 효율적으로 채우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.