Блог

Mysql: сгенерировать данные для тестирования

Все мы знаем замечательную штуку как “Lorem ipsum”, который имеет зачастую бессмысленный и используется для тестирования макета страницы. Будет полезно знать набор запросов в MySQL, которые помогут сгенерировать данные для таблицы.

Сгенерировать случайный текст:

SELECT CONV(FLOOR(RAND() * 99999999999999), 20, 36);

Сгенерировать случайное число или сгенерировать в диапазоне от и до (min-max):

SELECT (FLOOR(1 + RAND() * 10)) AS timer;
SELECT FLOOR((RAND() * (max-min+1))+min);

Сгенерировать случайную дату или сгенерировать в диапазоне от и до (min-max):

SELECT NOW() - INTERVAL FLOOR(RAND() * 14) DAY;
SELECT DATE(DATE_SUB(NOW(), INTERVAL ROUND(RAND(1)*10) DAY));
SET @MIN = '2012-04-30 00:59:59'; 
SET @MAX = '2015-06-28 00:59:59'; 
SELECT TIMESTAMPADD(SECOND, FLOOR(RAND() * TIMESTAMPDIFF(SECOND, @MIN, @MAX)), @MIN);
SELECT FROM_UNIXTIME(
    UNIX_TIMESTAMP('2000-01-01') + FLOOR(
        RAND() * (
            UNIX_TIMESTAMP('2010-12-31') - UNIX_TIMESTAMP('2000-01-01') + 1
        )
    )
);