クマの手も借りたい
茶トラネコ(@kumanotemo)です。上場を控えたITベンチャーを2社も退職してフリーランスの道を選んだ放浪エンジニアです。
MySQL

MySQLで1から100までのランダムな数値を登録する

テストデータを作成する際に、特定のカラムに対してランダムな数値を設定しておきたいケースがあります。

テストデータ自体をプログラムで作成する場合もあるかと思いますが、今回は MySQL でランダムな数値を一括アップデートする方法を紹介します。

プログラムで作成する場合、最初に数値の範囲を決めておく必要がありますが、SQL であれば後から気軽に範囲を変えれるので便利です。

RAND関数で乱数を発行する

MySQL でランダムな浮動小数点値を発行するには RAND() 関数が用意されています。

SELECT RAND();

+--------------------+
| RAND()             |
+--------------------+
| 0.5202502380313819 |
+--------------------+

1 から 100 の値として利用するには、この数値に 100 を掛けて切り上げしてあげることで実現できます。

切り上げには CEIL() 関数を利用します。

SELECT CEIL(RAND() * 100);

+--------------------+
| CEIL(RAND() * 100) |
+--------------------+
|                 22 |
+--------------------+

この仕組みを利用して、以下のような UPDATE 文を実行すれば、一括で更新できます。

hoge テーブルの category カラムに対して、1 から 100 までのランダムな整数を設定する SQL 文。

UPDATE hoge SET category = CEIL(RAND() * 100);
現場のプロから学ぶSEO技術

SEO について詳しくないけどこれから学んでみたい方。

これまでの小手先の SEO に対する技術には詳しいけど、マーケティングやソーシャル要素を組み合わせた今時の SEO をもう一度勉強してみたい方にオススメです。

あなたにオススメ