Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 6자리 난수 생성하는 방법 완벽 가이드

MySQL에서 6자리 난수를 생성하려면 LPAD() 함수와 RAND(), FLOOR() 함수를 함께 사용하면 됩니다. LPAD()는 생성된 숫자가 6자리보다 짧을 경우 앞부분을 '0'으로 채워 항상 6자리를 유지해 주는 역할을 합니다. 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
   (
   Value int
   );
Query OK, 0 rows affected (0.64 sec)

2단계: 레코드 삽입

insert 명령어를 사용하여 테이블에 레코드를 삽입합니다.

mysql> insert into DemoTable values(1);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(2);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(3);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(4);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(5);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(6);
Query OK, 1 row affected (0.19 sec)

3단계: 전체 레코드 조회

select 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable;

실행 결과는 다음과 같습니다.

+-------+
| Value |
+-------+
| 1     |
| 2     |
| 3     |
| 4     |
| 5     |
| 6     |
+-------+
6 rows in set (0.00 sec)

4단계: 6자리 난수 생성 쿼리 실행

다음은 MySQL에서 6자리 난수를 생성하는 핵심 쿼리입니다.

mysql> update DemoTable
set Value=LPAD(FLOOR(RAND() * 999999.99), 6, '0');
Query OK, 6 rows affected (0.15 sec)
Rows matched: 6 Changed: 6 Warnings: 0

여기서 FLOOR(RAND() * 999999.99)는 0부터 999999 사이의 정수를 무작위로 생성하고, LPAD(..., 6, '0')는 결과값이 6자리 미만일 경우 앞부분을 0으로 채워 항상 6자리 숫자가 되도록 만들어 줍니다.

5단계: 업데이트된 레코드 확인

업데이트된 레코드를 다시 조회해 보겠습니다.

mysql> select * from DemoTable;

실행 결과는 다음과 같습니다.

+--------+
| Value  |
+--------+
| 499540 |
| 550607 |
| 254419 |
| 620272 |
| 338104 |
| 829705 |
+--------+
6 rows in set (0.00 sec)

이처럼 LPAD(), RAND(), FLOOR() 세 가지 함수를 조합하면 MySQL에서 손쉽게 6자리 난수를 생성할 수 있습니다. 이 방법은 인증 코드, 임시 비밀번호, 주문 번호 등을 자동으로 생성해야 하는 상황에서 특히 유용하게 활용됩니다.