[MySQL] Programma per generare insert random in un Database

Pubblicità

helldron

Utente Attivo
Messaggi
135
Reazioni
0
Punteggio
38
Ciao a tutti,
sto cercando un modo per inserire in alcune tabelle del mio DataBase migliaia di record e quindi dovrei fare tante insert (anceh random ovviamente), cosa che a mano non è possibile.

Mi hanno accennato a programmi che automatizzano tutto questo in maniera abbastanza semplice. Qualche idea???

Grazie :D
 
Ti puoi fare semplicemente un scriptino in php...non ti ruba più di 10 min...

anzi, te lo faccio io:
PHP:
<?php

$db_server='localhost'; // server mysql
$db_user='user'; // nome utente mysql
$db_pass='pass'; // password utente mysql
$db_name='database'; // nome del database


$conn=mysql_connect($db_server, $db_user, $db_pass) or die("Connessione al database non riuscita");
mysql_select_db($db_name) or die("Selezione database non riuscita");

$insert_rows = 1000; //il numero di righe che vogliamo inserire

$abc= array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); // per generare nomi random
$num= array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); // per generare numeri random

// supponiamo che hai una tabella 'rubrica' coi campi 'id', 'nome', 'telefono'

for ($i=0; $i<$insert_rows; i++)
{
   $nome=''; // azzeriamo il nome
   $telefono=''; // azzeriamo il telefono

   $nome_long1 = rand(5,10); // la lunghezza del nome in modo random, tra 5 e 10 lettere
   $nome_long2 = rand(6,12); // la lunghezza del cognome in modo random, tra 6 e 12 lettere

   for($j=0;$j<$nome_long1;$j++){ $nome .= $abc[rand(0,count($abc)-1)]; } //genera il nome
   $nome .= ' '; //aggiunge uno spazio
   for($j=0;$j<$nome_long2;$j++){ $nome .= $abc[rand(0,count($abc)-1)]; } //genera il cognome

   for($j=0;$j<10;$j++){ $telefono .= $num[rand(0,count($num)-1)]; } // genera il telefono di 10 cifre

   mysql_query ("insert into rubrica ('id','nome','telefono') values ('','".ucwords($nome)."','".$telefono."'"); // la query dell'insert
}

?>

Non l'ho testato, ma dovrebbe funzionare...ovviamente i nomi non saranno del tutto "umani"...per quello si dovrebbe lavorare di più nell'avere un elenco di nomi ed uno di cognomi dai quali pesca random degli abbinamenti...
 
Pubblicità
Pubblicità
Indietro
Top