Importar/exportar datos en MySQL

Introducción

Tenemos una tabla marcas como la siguiente, ¿cómo podemos exportarla?

SELECT * FROM `marcas`

id_marca nombre       url  avatar 
1        Zara         NULL NULL 
2        Woman Secret NULL NULL 
3        New Look     NULL NULL

Soluciones

Exportar con mysqldump

$ mysqldump -ubasedatos -pcontraseña --extended-insert=false --hex-blob nombrebasededatos > volcado.sql

Exportar con SELECT … INTO OUTFILE

Opciones

[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES
[STARTING BY '']
[TERMINATED BY '\n']
]

Ejemplo:

SELECT * INTO OUTFILE '/path/to/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM marcas;

Importar fichero SQL

$ mysql -ubasedatos -pcontraseña nombrebasededatos < volcado.sql

Importar datos con LOAD DATA INFILE

LOAD DATA sirve para tomar cualquier archivo “comma-separated” (separado por comas, aunque no necesariamente son comas) y cargarlo como datos en alguna tabla de MySQL.Un ejemplo para recuperar los datos anteriores:

LOAD DATA LOCAL INFILE '/path/to/result.txt'
INTO TABLE marcas
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n' (id_marca, nombre, url, avatar );

Referencias

  1. https://phenobarbital.wordpress.com/2007/08/03/cargar-datos-en-mysql-con-load-data-infile/
  2. https://dev.mysql.com/doc/refman/5.1/en/load-data.html
  3. https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
  4. https://dev.mysql.com/doc/refman/5.1/en/select-into.html

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *