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 );
Quiero utilizar SELECT … INTO OUTFILE, pero no sé como indicar el archivo resultado. Mi código es el siguiente:
select
ruc as r, convert(ciuu_5d,unsigned) as ciuu, count(ruc) as veces
from
empresas
where
convert(ciuu_5d,unsigned) <= 1200
group by r
into outfile '/path/to/result.txt'
fields TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n' ;
y me sale error 1290.
Parece que lo pones bien, si miras la doc “https://dev.mysql.com/doc/refman/8.0/en/select-into.html” y el ejemplo
SELECT * FROM (VALUES ROW(1,2,3),ROW(4,5,6),ROW(7,8,9)) AS t
INTO OUTFILE '/tmp/select-values.txt';
IMPORTANTE! la ruta donde mysql escribe debe poder escribir.
Mi duda es cómo coloco esta línea
into outfile ‘/path/to/result.txt’
para que genere el archivo result.txt en mi disco duro.
si pones solo result.txt el archivo se guardara en tu ruta donde esta C:\xampp\mysql\data/{bd}/result.txt
esto es por que estoy usando xamp
si pones solo result.txt el archivo se guardara en tu ruta donde esta C:\xampp\mysql\data/{bd}/result.txt
esto es por que estoy usando xamp