>  기사  >  데이터 베이스  >  저장 프로시저를 사용하여 MySQL 테이블을 난수로 채우는 방법은 무엇입니까?

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-25 07:56:02317검색

How to Populate a MySQL Table with Random Numbers Using Stored Procedures?

저장 프로시저를 사용하여 MySQL 테이블을 난수로 채우기

문제 설명

number 유형이 INT인 단일 열이 있는 rand_numbers라는 MySQL 테이블을 만듭니다. . 2222에서 5555 사이의 1111개의 난수로 테이블을 채웁니다.

해결책

MySQL 저장 프로시저를 사용하여 rand_numbers 테이블을 만들고 채우려면 다음 단계를 따르세요.

1. 테이블 만들기

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

2. 저장 프로시저 만들기

루프를 수행하고 테이블에 임의의 값을 삽입하는 InsertRand라는 저장 프로시저를 정의합니다.

<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>

3. 저장 프로시저 호출

원하는 행 수, 최소값 및 최대값을 사용하여 InsertRand 프로시저를 호출합니다.

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

600을 삽입하려면 1200에서 8500 사이의 임의 값을 rand_numbers 테이블에 추가:

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

프로시저 재사용

InsertRand 프로시저를 재사용하여 다양한 매개변수로 호출하여 다양한 범위와 테이블에 대한 임의 값을 생성할 수 있습니다. .

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

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