22 ottobre 2010

Mysql in CSV

Per aggiungere i nomi delle varie colonne al file csv:
mysql -uuser -p -s -e 'DESCRIBE table' database | tail -n +1 | awk '{ printf($1",")}' | head -c -1 > nomefile.csv

Per esportare in csv un database:
echo "SELECT * FROM table LIMIT 0,999999999; " | mysql -uuser -p database | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' >> nomefile.csv

Un ringraziamento va a http://www.commandlinefu.com che mi ha evitato di usare la sintassi "SELECT [*|tuononno,tuanonna,ecc] INTO OUTFILE..." che, onestamente, era terribile e convoluta e se non ti ricordi da solo che può scrivere SOLO dentro la $tempdir impostata in my.cnf non te lo viene di certo a dire di suo.

1 commento:

  1. avessi capito un'HHHHHH!!!!!
    Ma un abbraccio a quella bimbetta che, domani, spero capisca più di ME!

    RispondiElimina

NOTA BENE: Se vi ostinate a commentare posts di un mese fa, scatta la moderazione (se non sono in vacanza, controllo quasi ogni giorno)... Ovviamente, se siete spammers vi cancello :)