¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo agregar nombres de columnas y datos a un CSV desde MySQL: Ejemplo detallado

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 95 Vistas
0
Cargando...

Hola a todos,

Dar un pequeño ejemplo sobre ...

¿Cómo puedo agregar nombres de columnas y datos a un CSV desde MySQL?

como

ejemplo

sequence_no, time_date, col_name, col_name

123, 27-abr-2004, datos, datos

234, 27-abr-2004, datos, datos

Por favor, dar un pequeño ejemplo sobre esto.

Gracias y saludos

Rama Krishna

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Rama Krishna,

Revisa este código:

El ejemplo a continuación exporta datos de una consulta Select de MySQL a un archivo CSV.

Estructura de la tabla de prueba

CREATE TABLE testtable

(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

texto varchar(45) NOT NULL,

precio entero no nulo);

La aplicación toma la ruta del archivo de salida como argumento.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class automateExport {
    public static void main(String[] args) {
        DBase db = new DBase();
        Connection conn = db.connect(
                "jdbc:mysql://localhost:3306/test","root","caspian");
        
        if (args.length != 1) {
            System.out.println(
                    "Uso: java automateExport [ruta del archivo de salida] ");
            return;
        }
        db.exportData(conn,args[0]);
    }
    
}

class DBase {
    public DBase() {
    }
    
    public Connection connect(String db_connect_str, 
            String db_userid, String db_password) {
        Connection conn;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(db_connect_str,
                    db_userid, db_password);
            
        } catch(Exception e) {
            e.printStackTrace();
            conn = null;
        }
        return conn;
    }
    
    public void exportData(Connection conn,String filename) {
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Rama Krishna,

No estoy seguro de cómo lograr esto, pero encontré algo que puede ayudarte:

http://dev.mysql.com/doc/refman/5.0/en/select.html

-


Copiar-Pegar-Desde-El-Enlace-Arriba----


Al usar la sintaxis SELECT ... INTO OUTFILE, usa un UNION para agregar encabezados. Aquí tienes un ejemplo para la salida CSV:

SELECT 'Año Fiscal','Ubicación','Ventas'

UNION

SELECT AñoFiscal, Ubicación, Ventas INTO OUTFILE 'informe-ventas.csv'

CAMPOS TERMINADOS POR ',' OPCIONALMENTE ENCERRADOS POR '"'

DE TablaVentas;

Esto agregará los encabezados de texto Año Fiscal, Ubicación y Ventas a tus campos. La única advertencia es con una declaración ORDER BY, si no quieres que tus encabezados se ordenen junto con tus datos, debes encerrarla entre paréntesis:

SELECT 'Año Fiscal','Ubicación','Ventas'

UNION

{SELECT AñoFiscal, Ubicación, Ventas INTO OUTFILE 'informe-ventas.csv'

CAMPOS TERMINADOS POR ',' OPCIONALMENTE ENCERRADOS POR '"'

DE TablaVentas

ORDER BY Ventas DESC);

-


Copiar-Pegar-Desde-El-Enlace-Arriba----


Asegúrate de que el formato de las columnas que coinciden con tus encabezados no limite la visualización de los encabezados. Por ejemplo, estaba usando el consejo de UNION para agregar un encabezado a una columna definida como char(2) (para almacenar un código de estado de dos letras). El archivo CSV resultante solo mostraba las dos primeras letras de mi encabezado de columna. La solución es simple, solo usa CAST() en la columna en el segundo SELECT para convertirla al tipo apropiado. En mi caso, hacer algo como esto:

SELECT 'encabezado de estado' DE tabla UNION SELECT CAST(estado AS char) DE tabla INTO OUTFILE [...]

funcionó perfectamente. Espero que eso ahorre un poco de tiempo a alguien.

-


Copiar-Pegar-Desde-El-Enlace-Arriba----


Saludos,

Praveen Gudapati

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola a todos,

Mi problema es convertir un archivo CSV con nombres de columnas y datos.

Aquí puedo poner solo datos o solo nombres de columnas.

¿Cómo puedo poner <b>nombres de columnas</b> y <b>datos</b> en un archivo CSV con MySQL?

Estoy poniendo los nombres de las columnas (con RSMetadata & DBMD) e intentando poner los datos después de haber puesto los nombres de las columnas con la siguiente consulta.

<b>String query = "SELECT * FROM " nombre_tabla " into OUTFILE '"

+ nombre_archivo

+ "' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'";</b>

está dando la excepción de <b>"el archivo ya existe"</b>

¿Cómo puedo poner datos con nombres de columnas?

Gracias & Saludos

Rama Krishna

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Crea un programa en Java que abra una conexión JDBC a través de un origen de datos. Lee la información de metadatos del conjunto de resultados y los registros de datos mediante la iteración a través del resultado.

Saludos,

Kiran

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?