MySQL

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

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

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

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

RAND関数で乱数を発行する

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

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

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

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

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