Foros del Web » Programando para Internet » PHP »

Como exportar los datos de mysql y que se descarguen en .sql

Estas en el tema de Como exportar los datos de mysql y que se descarguen en .sql en el foro de PHP en Foros del Web. Bueno la idea es un código para exportar X cantidad de campos osea seleccionar por ejemplo los registros que tengan ID=1 pero como son mas ...
  #1 (permalink)  
Antiguo 22/03/2004, 21:08
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años, 1 mes
Puntos: 0
Como exportar los datos de mysql y que se descarguen en .sql

Bueno la idea es un código para exportar X cantidad de campos osea seleccionar por ejemplo los registros que tengan ID=1 pero como son mas de 1000 el que aparezcan en un archivo tardaría mucho en cargar y después el copy y paste mas aún asi que la idea es seleccionar todos los campos ID=1 de la base de datos y al momento de mostrar resultados.php se mande a descargar un archivo .sql, .zip ó .tar.gz con los datos dentro de el.

Saludos y gracias.
__________________
ChilenoCesar Looking for something new...
  #2 (permalink)  
Antiguo 23/03/2004, 06:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
El ".sql" es un archivo de texto plano simple que contiene los comandos SQL de "CREATE table" (si corresponde) y sobre todo los INSERT de cada uno de tus registros que has de hacer tu volcado a tu .sql ... Las instrucciones SQL se separan por ; ademas de un \n (salto de línea) cara al archivo en sí ..

Se trata simplemente de hacer tu consulta SQL habitual por ese "ID=x" o lo que requieras .. pero .. en lugar de hacer el típico: echo $row['id'] y demás campos de ese registro .. tienes que componer tu sentencia SQL de INSERT con su sintax adecuada y dejarlo en una variable para luego darle el destino definitivo .. sea a un archivo de texto plano .. o a entregarlo a descargar directamente .. etc.:

Código PHP:
// conecta a tu BD ..etc ...
$sql '';
$consulta_sql="SELECT .....";
$resultado=mysql_query($consulta_sql);
While (
$row=mysql_fetch_array($resultado)){
    
$sql .= "INSERT INTO tabla id VALUES('".$row['id']."');\n";
}

// Ahora con tu $sql .. si quieres lo vuelvas a un archivo con funciones fopen() en modo escritura . y fwrite() ... El nombre del archivo le indicas nose.sql .. 
Si te apetece ..estudia el código de phpMyadmin por qué hace exactamente esto mismo y ademas incorpora la generación del .zip con una classe (objeto) o función que usa ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 23/03/2004 a las 06:48
  #3 (permalink)  
Antiguo 17/09/2005, 16:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Pero si requiero bajar solo 1 TABLA ?

Es que cada tabla es gigaaaaaaaaante... (10 + Megas)...

Por ello debo bajar tabla por tabla, pero como ?.
  #4 (permalink)  
Antiguo 18/09/2005, 01:12
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 22 años
Puntos: 4
kisas con consultas con limite
  #5 (permalink)  
Antiguo 18/09/2005, 01:54
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Lo que deja Cluster precisamente "bajaría" solo una tabla... creo lo explicó perfectamente, te invito a releer con más calma.

Espero te sirva este enlace: http://www.forosdelweb.com/f18/como-puedo-generar-script-desde-php-309269/

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 18/09/2005, 05:58
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Gracias,

ya me pille que la sentencia es
Código PHP:
--opt bd tabla 
Es decir, indicar la tabla luego de la BD.

Pero ahora resulta que no logro correr MYSQLBIN desde mi casa, en el server que arriendo....

Puedo hacerlo sin SHELL ?

En mi windows local, todo perfecto, pero halla no me quiere aceptar
Código PHP:
/mysql/bin/mysqldump -
Cómo lo hiciera ?
  #7 (permalink)  
Antiguo 18/09/2005, 07:41
Usuario baneado!
 
Fecha de Ingreso: agosto-2005
Ubicación: España
Mensajes: 142
Antigüedad: 19 años, 3 meses
Puntos: 0
Si quereís exportar todos lo datos de un directorio , o bien de mysql la solucion la encontrareís en esta class , po rla cual el autor recibio un premio a la innovación en php , ahi os va la direccion , aunque a lo mejor teneís que registraros , pero merece la pena , http://www.phpclasses.org/browse/dow.../package/1659/ , saludos

P.D : Si teneís algún problema podreís encontrar la class poniendo en el sistema de búsqueda website baclup , buena suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.