Ho escogitato un modo per dover inserire manualmente quei nomi finché esegui MySQL 5 o versioni successive. Qui è, scritto come uno script bash per l'esecuzione su una riga di comando UNIX:
DBNAME=<database_name>
TABLE=<table_name>
FNAME=/path/to/output/dir/$(date +%Y.%m.%d)-$DBNAME.csv
#(1)creates empty file and sets up column names using the information_schema
mysql -u <username> -p<password> $DBNAME -B -e "SELECT COLUMN_NAME FROM information_schema.COLUMNS C WHERE table_name = '$TABLE';" | awk '{print $1}' | grep -iv ^COLUMN_NAME$ | sed 's/^/"/g;s/$/"/g' | tr '\n' ',' > $FNAME
#(2)appends newline to mark beginning of data vs. column titles
echo "" >> $FNAME
#(3)dumps data from DB into /var/mysql/tempfile.csv
mysql -u <username> -p<password> $DBNAME -B -e "SELECT * INTO OUTFILE '/var/mysql/tempfile.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM $TABLE;"
#(4)merges data file and file w/ column names
cat /var/mysql/tempfile.csv >> $FNAME
#(5)deletes tempfile
rm -rf /var/mysql/tempfile.csv
Pur non essendo la soluzione più aggraziata, sono sicuro che può essere compresso in una sola linea da qualcuno che conosce SQL e/o colpire un po 'meglio di me ...
ciò che fa è:
- utilizza lo schema informazioni di MySQL per creare un file CSV vuoto w/colonna
- Aggiunge una nuova riga in più per quel vuoto CSV così i tuoi dati inizieranno ad apparire una nuova linea
- utilizza un abbastanza standard "SELECT * INTO OUTFILE ..." query per creare un file CSV completa di dati
- aggiunge il file di dati sul file di w/colonna
- elimina i dati (temporaneo) file
Buona fortuna, e se la pulisci, pubblica i risultati!
check this out (si tratta di una soluzione alternativa): [file CSV Esportazione da MySQL con intestazioni in prima fila] (http://homepage.mac.com/kelleherk/iblog/C711669388/E20060511141025/index.html) –