Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Exportar tabla a CSV con los nombre de los campos

Estas en el tema de Exportar tabla a CSV con los nombre de los campos en el foro de Mysql en Foros del Web. Hola, he podido exportar una tabla a .csv. Código: SELECT * FROM `ctactedeudores` INTO OUTFILE 'c:/timber/salida.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES ...
  #1 (permalink)  
Antiguo 02/12/2012, 11:13
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Exportar tabla a CSV con los nombre de los campos

Hola, he podido exportar una tabla a .csv.

Código:
SELECT * FROM `ctactedeudores` INTO OUTFILE 'c:/timber/salida.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\r\n';
No sé cómo hacer para que en la primera fila aparezcan los nombres de los campos.

Desde ya gracias por las respuestas.
Saludos
  #2 (permalink)  
Antiguo 03/12/2012, 07:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Exportar tabla a CSV con los nombre de los campos

Parece que la unica solucion es la siguiente

Código MySQL:
Ver original
  1. SELECT 'ColName1', 'ColName2', 'ColName3'
  2. SELECT ColName1, ColName2, ColName3
  3.     FROM YourTable
  4.     INTO OUTFILE '/path/outfile'

En realidad se esta haciendo un unión entre

Código MySQL:
Ver original
  1. SELECT 'ColName1', 'ColName2', 'ColName3'

Un select constante con un solo registro con los nombres de los campos y

Código MySQL:
Ver original
  1. SELECT ColName1, ColName2, ColName3
  2.     FROM YourTable
  3.     INTO OUTFILE '/path/outfile'

La consulta en si, con lo que en la primera linea del fichero de salida estaran los encabezados.

De forma indirecta podrias usar

Código MySQL:
Ver original
  1. select GROUP_CONCAT(CONCAT("'",COLUMN_NAME,"'"))
  2. from INFORMATION_SCHEMA.COLUMNS
  3. WHERE TABLE_NAME = 'my_table'
  4. AND TABLE_SCHEMA = 'my_schema'
  5. order BY ORDINAL_POSITION

Que te darà una lista de los campos que se puede copiar pegar en la primera fila del fichero de salida.

El resultado de esta segunda opcion tambien te permiriria construir con programacion externa la sentencia sql de la primera opción, con lo que consigues una consulta dinámica, es decir que si hay un cambio en la estructura de la tabla no tendràs que tocar la programación para que siga incluyendo los nombres de los campos.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 03/12/2012, 07:19
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: Exportar tabla a CSV con los nombre de los campos

Muchas gracias por responder.

Funciona perfecto!!

Saludos

Etiquetas: campos, csv, nombre, select, tabla
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 05:25.