Domanda

Sono bloccato. Io fondamentalmente voglio creare un file di dati locali (file CSV) da un database remoto utilizzando il comando OUTFILE.

Io sono in fondo, tirando i dati .. e voglio creare sul mio file server locale contro la creazione del file di output sul server remoto. Sto limitato sullo spazio remoto, quindi voglio creare il file in locale. Che cosa mi manca su come fare questo? Grazie!

Questa è la mia sintassi di lavoro finora sulla riga di comando (che sta creando il file che voglio, ma sul server remoto)

mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 INTO OUTFILE '/tmp/mytest.csv' FIELDS TERMINATED BY ','  FROM tst_p000 limit 10"
È stato utile?

Soluzione

Secondo il MySQL Select sintassi , Si puo' t uso OUTFILE per output in un file al di fuori del server stesso.

Si avrebbe bisogno di convertire l'output delimitato da tabulazioni della query in formato CSV come questo ( comando sed accreditato qui ).

mysql -u test -pfoo --database test -h testdb201.name.host.com --port 3306 -ss -e "SELECT 'a','b','c' UNION SELECT col1, col2, col3 " | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > myDump.csv
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top