INT型(1~10)
SELECT CEIL(RAND() * 10);
VARCHAR型
SELECT SUBSTRING(MD5(RAND()), 1, 64);
DATE(10/01から30日間の日付)
SELECT DATE_ADD('2015-10-01', INTERVAL 30 * RAND() DAY);
DATETIME(時間/秒数)
SELECT ADDTIME(CONCAT_WS(' ','2015-10-01' + INTERVAL RAND() * 30 DAY, '00:00:00'), SEC_TO_TIME(FLOOR(0 + (RAND() * 86401))));
以下、実際にテーブルを作成していきます。
テーブル作成
CREATE TABLE item ( id INT PRIMARY KEY AUTO_INCREMENT, description VARCHAR(30), price INT UNSIGNED, created_at DATETIME );
空のデータを作成
INSERT INTO item () VALUES (); --1行作成 INSERT INTO item (id) SELECT 0 FROM item; --2行になる INSERT INTO item (id) SELECT 0 FROM item; --4行になる INSERT INTO item (id) SELECT 0 FROM item; --8行になる INSERT INTO item (id) SELECT 0 FROM item; --16行になる
空データにランダムに値を入れる
UPDATE item SET description = SUBSTRING(MD5(RAND()), 1, 30), price = CEIL(RAND() * 10000), created_at = ADDTIME(CONCAT_WS(' ','2015-01-01' + INTERVAL RAND() * 180 DAY, '00:00:00'), SEC_TO_TIME(FLOOR(0 + (RAND() * 86401))));
ちなみに大量のダミーデータを自動生成してくれるツールもあるみたいです。 リンクテキスト