Actualizado 20/01/2026
SET @ESPANA=(SELECT COUNT(id) FROM localidades);
SET @ISLAS=(select COUNT(DISTINCT l.id)
from localidades l, municipios m,
provincias p, regiones r
where
l.fk_municipio = m.id and
m.fk_provincia = p.id and
p.fk_region = r.id and
(r.nombre like "%islas%" or
r.nombre = "ceuta" or r.nombre = "melilla"));
set @peninsula:=(select @espana-@islas);
set @lm:=39.840406;
set @lnm:=-2.9949505;
select count(distinct ll.fk_localidad)*100/@peninsula
from loc_localizaciones ll,
geo_localizaciones g where
ll.fk_geolocalizacion = g.id and
g.latitud<@lm and g.longitud<@lm;

create table n10 as
select 1 n union
select 2 union
select 3 union
select 4 union
select 5 union
select 6 union
select 7 union
select 8 union
select 9 union
select 10;
set @i:=0;
SET @cl:=(SELECT count(*) FROM cod_localidades);
select @i:=@i+1 num, concat("C",FLOOR(RAND()*100000000)) nif,
FLOOR(RAND()*@cl+1) fk_cod_loc
from n10 t1 join n10 t2 join n10 t3 join n10 t4
limit 8434;
SET @i:=0;
SET @ncl:=(SELECT COUNT(*) FROM cod_localidades);
TRUNCATE clientes;
INSERT ignore INTO clientes
SELECT NULL id,
CONCAT(if(round(RAND(),2)<=0.3,"A","B"),
10000000+floor(RAND()*90000000))
AS cif, CONCAT_WS("",NULL,"nombre ",
"empresa ",
@i:=@i+1) AS razon_social,
DATE_ADD("1969/03/27", INTERVAL
floor(RAND()*dateDIFF(NOW(),"1969/03/27"))
DAY) fa, NULL fb,
floor(RAND()*@ncl)+1 fk
FROM n10 t1 JOIN n10 t2 JOIN n10 t3
JOIN n10 t4 JOIN n10 t5 JOIN n10 t6
LIMIT 100000;
SET @tc:=(SELECT COUNT(*) FROM clientes);
SELECT @tc, CONCAT_WS(" ",round(COUNT(*)*100/@tc,2),"%") tpsa,
CONCAT_WS(" ",ROUND((@tc-COUNT(*))*100/@tc,2),"%") tpsl
from clientes
WHERE cif LIKE "a%";
UPDATE clientes
SET razon_social=
CONCAT(" ",razon_social,", S.",
if(SUBSTRING(cif,1,1)="A","A.","L.")),
fecha_baja=
if(RAND()<=0.5,NULL,
DATE_ADD(fecha_alta, INTERVAL
1+floor(RAND()*dateDIFF(NOW(),fecha_alta))
DAY));
SELECT DATEDIFF(fecha_baja,fecha_alta)
FROM clientes
ORDER BY 1 desc;
SELECT DATEDIFF(fecha_baja,fecha_alta)
FROM clientes
WHERE fecha_baja IS NOT null
ORDER BY 1 asc;