MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでランダムな4桁の数値を生成する方法を解説

MySQLでランダムな4桁の数値を生成するには?

MySQLでは、RAND()関数とFLOOR()関数を組み合わせることで、ランダムな4桁の数値を簡単に生成できます。基本的な構文は以下の通りです。

SELECT FLOOR(0 + RAND() * 10000);

RAND()は0以上1未満のランダムな浮動小数点数を返し、それに10000を掛けることで0〜9999の範囲の値を生成します。FLOOR()で小数点以下を切り捨てることで、整数の4桁の数値が得られます。

実際に、テーブルのカラムへランダムな4桁の数値を設定する手順を見ていきましょう。

1. テーブルを作成する

まず、サンプル用のテーブルを作成します。

mysql> create table DemoTable717 (
    UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserPassword int
);
Query OK, 0 rows affected (0.81 sec)

ここでは、自動採番される「UserId」カラムと、パスワードを格納する「UserPassword」カラムを持つテーブルを定義しています。

2. テストデータを挿入する

INSERTコマンドを使って、いくつかのレコードを登録します。

mysql> insert into DemoTable717(UserPassword) values(1454343);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable717(UserPassword) values(674654);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable717(UserPassword) values(989883);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable717(UserPassword) values(909983);
Query OK, 1 row affected (0.15 sec)

3. 登録したレコードを確認する

SELECT文ですべてのレコードを表示します。

mysql> select *from DemoTable717;

実行結果は以下の通りです。

+--------+--------------+
| UserId | UserPassword |
+--------+--------------+
| 1      | 1454343      |
| 2      | 674654       |
| 3      | 989883       |
| 4      | 909983       |
+--------+--------------+
4 rows in set (0.00 sec)

現時点では6〜7桁の数値が登録されていることがわかります。

4. ランダムな4桁の数値で更新する

次に、「UserPassword」カラムに対して、ランダムな4桁の数値を設定するUPDATE文を実行します。

mysql> update DemoTable717
   SET UserPassword=(select floor(0+ RAND() * 10000));
Query OK, 4 rows affected (0.22 sec)
Rows matched: 4 Changed: 4 Warnings: 0

このクエリにより、すべての行の「UserPassword」カラムが、ランダムに生成された0〜9999の範囲の整数で更新されます。

5. 更新結果を確認する

もう一度テーブルの内容を確認してみましょう。

mysql> select *from DemoTable717;

実行結果は以下のようになります(生成される数値は実行ごとに異なります)。

+--------+--------------+
| UserId | UserPassword |
+--------+--------------+
| 1      | 4319         |
| 2      | 3902         |
| 3      | 6553         |
| 4      | 1060         |
+--------+--------------+
4 rows in set (0.00 sec)

補足:先頭に0が付く4桁にしたい場合

上記の方法では「0019」のような先頭ゼロ付きの4桁は生成されません(整数として扱われるため19になります)。先頭ゼロを含む文字列として4桁を厳密に扱いたい場合は、LPAD()関数を併用すると便利です。

SELECT LPAD(FLOOR(RAND() * 10000), 4, '0');

このようにすることで、常に4桁の形式でランダムな数値を取得できます。用途に応じて使い分けてください。

  1. MySQLコマンドラインでデータベースを作成する方法を初心者向けに解説

    MySQLコマンドラインでデータベースを作成する手順 この記事では、WindowsのコマンドプロンプトからMySQLに接続し、データベースを作成する一連の手順をスクリーンショット付きで解説します。初心者の方でも迷わず進められるよう、順番に見ていきましょう。 1. コマンドプロンプトを開く まず、コマンドプロンプトを起動します。キーボードのショートカット「Windows + R」キーを押すと、「ファイル名を指定して実行」ダイアログが表示されます。 2. 「CMD」と入力してOKをクリック 表示された入力欄に CMD と入力し、「OK」ボタンをクリックしてください。 3. コマンドプロンプトが

  2. Pythonで複素数を作成する方法:j表記とcomplex()関数の使い方

    複素数とは複素数は、実部と虚部の2つの要素で構成される数値です。実部は通常の浮動小数点数(float)であり、虚部は任意の浮動小数点数に -1 の平方根を掛けたものとして表現されます。Pythonでは、-1 の平方根は j という記号で定義されています。j表記による複素数の作成Pythonでは、実部と虚部を j を使って直接記述することで、簡単に複素数を作成できます。>>> no = 5 + 6j>>> no.real5.0>>> no.imag6.0>>> type(no)<class complex>このよ