5Nov/100
SELECT … UNION … INTO OUTFILE | [ESP]
Consejo rápido:
Algunas veces necesitamos volcar cierta información directamente a un archivo.
Eso es fácil haciendo
SQL:
-
SELECT ... INTO OUTFILE .... FROM ...
Pero ¿qué pasa cuando necesitamos sacar información en alguna forma particular o cuando queremos agregar los "encabezados" de las columnas que estamos escribiendo en el archivo?
Posiblemente recibiremos un error diciendo que la expresión UNION no funciona con INTO OUTFILE.
Pero, esta es la manera de hacerlo:
SQL:
-
SELECT *
-
INTO OUTFILE '/dir/to/file.csv'
-
FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"'
-
LINES TERMINATED BY '\r\n'
-
FROM (
-
( SELECT 'FieldA','FieldB','FieldC','FieldD' )
-
UNION
-
( SELECT FieldA, FieldB, FieldC, FieldD FROM my_table)
-
) AS T
De esta forma, estamos creando una tabla compuesta por el resultado intermedio del UNION. Luego hacemos SELECT * desde esa tabla al archivo de final.
Recordá SIEMPRE asignar un alias a las tablas derivadas. :)
Happy Dumping!
