Генерация строк в MYSQL

Полезные SQL команды для заполнения базы данных "тестовыми" данными, такими как телефонные номера или имена.

Для телефонных номеров:

UPDATE `field_data_field_telefon` SET `field_telefon_value` = CONCAT('8 (', FLOOR(100+(RAND()*(999-100))), ') ', FLOOR(100+(RAND()*(999-100))), '-', FLOOR(10+(RAND()*(99-10))), '-', FLOOR(10+(RAND()*(99-10)))) WHERE 1

Для имен и фамилий*:

DROP function if exists generate_fname;
DELIMITER $

CREATE FUNCTION generate_fname () RETURNS varchar(255)
BEGIN

RETURN ELT(FLOOR(1 + (RAND() * (100-1))), "James","Mary","John","Patricia","Robert","Linda","Michael","Barbara","William","Elizabeth","David","Jennifer","Richard","Maria","Charles","Susan","Joseph","Margaret","Thomas","Dorothy","Christopher","Lisa","Daniel","Nancy","Paul","Karen","Mark","Betty","Donald","Helen","George","Sandra","Kenneth","Donna","Steven","Carol","Edward","Ruth","Brian","Sharon","Ronald","Michelle","Anthony","Laura","Kevin","Sarah","Jason","Kimberly","Matthew","Deborah","Gary","Jessica","Timothy","Shirley","Jose","Cynthia","Larry","Angela","Jeffrey","Melissa","Frank","Brenda","Scott","Amy","Eric","Anna","Stephen","Rebecca","Andrew","Virginia","Raymond","Kathleen","Gregory","Pamela","Joshua","Martha","Jerry","Debra","Dennis","Amanda","Walter","Stephanie","Patrick","Carolyn","Peter","Christine","Harold","Marie","Douglas","Janet","Henry","Catherine","Carl","Frances","Arthur","Ann","Ryan","Joyce","Roger","Diane");
END$

DELIMITER ;
DROP function if exists generate_lname;
DELIMITER $

CREATE FUNCTION generate_lname () RETURNS varchar(255)
BEGIN
    RETURN ELT(FLOOR(1 + (RAND() * (100-1))), "Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White","Harris","Martin","Thompson","Garcia","Martinez","Robinson","Clark","Rodriguez","Lewis","Lee","Walker","Hall","Allen","Young","Hernandez","King","Wright","Lopez","Hill","Scott","Green","Adams","Baker","Gonzalez","Nelson","Carter","Mitchell","Perez","Roberts","Turner","Phillips","Campbell","Parker","Evans","Edwards","Collins","Stewart","Sanchez","Morris","Rogers","Reed","Cook","Morgan","Bell","Murphy","Bailey","Rivera","Cooper","Richardson","Cox","Howard","Ward","Torres","Peterson","Gray","Ramirez","James","Watson","Brooks","Kelly","Sanders","Price","Bennett","Wood","Barnes","Ross","Henderson","Coleman","Jenkins","Perry","Powell","Long","Patterson","Hughes","Flores","Washington","Butler","Simmons","Foster","Gonzales","Bryant","Alexander","Russell","Griffin","Diaz","Hayes");
END$
DELIMITER ;

select generate_fname() as FirstName, generate_fname() as LastName;

*http://thecodecave.com/2011/10/06/generating-random-names-in-mysql - исходник SQL запросов для генерации имен.

MySQL SQL
comments powered by Disqus