MySQLでランダムな数値が入ったデータを用意する

ランダムな数値データが入ったDBが作りたい

課題でMySQLでランダムな数値が入ったデータが大量に必要になったので,その作り方をメモしておく


  1. 適当なテーブルを作る
  2. まずは,1つ空のデータを入れる
  3. データの数を倍にする
  4. データの成形
  5. 必要な数以上は消す
  6. ランダムな数値を入れる

適当なテーブルを作る

create table tb1(id int, num int);

まずは,1つ空のデータを入れる

insert into tb1() values();

tb1をtb1に挿入する(倍にしていく)

insert into tb1(id) select 0 from tb1;

これを好きなだけ繰り返す


管理用にIDに番号をふる

idの値を連番で値を入れる

set @i=0;
update tb1 set id=(@i := @i+1);

欲しい数で削除する

30万のレコードが欲しい場合

delete from tb1 where id > 300000;

なんてやれば良い。


ランダムな値を入れる

ランダムな1〜30000の数値を入れてみる

update tb1 set num = ceil(rand() * 30000);