2011-01-14 14 views
9

Mi piace l'output tabella che il programma client mysql produce in modalità interattiva, ma se provo ad eseguire uno script SQL come questo:Come si ottiene l'output in formato tabella da MySQL in modalità non interattiva?

mysql -uroot mydb < myscript.sql 

Ho solo ottenere l'output separato da tabulazioni.

mysql -uroot mydb -e 'select * from mytable' 

produce tuttavia l'output nel formato di tabella desiderato.

Come posso ottenere il primo comando per la produzione di output in formato tabella? Non voglio l'output HTML, ma l'output del carattere terminale con colonne e intestazioni allineate.

+0

possibile duplicato del [MYSQL differenzia in uscita dallo script] (http: //stackoverflow.com/questions/13790956/mysql-differs-in-output-from-script) –

+0

Grazie per la pubblicazione, avevo bisogno della stessa cosa. Io uso il termine "non interattivo" anche per questo, ma non so se è un termine ampiamente utilizzato. Mi chiedo se questa forma di esecuzione (cioè direttamente da una shell) abbia altri nomi - modalità batch? –

risposta

7

Aggiungere l'opzione -t a mysql (tabella).

mysql -t -uroot mydb < myscript.sql 

    mysql -t -uroot mydb -e 'select * from mytable' 
4

Usa \ P opzione meno -S prima di eseguire la query

mysql> \P less -S 

PAGER impostata su 'meno -S'

+2

La risposta sul tuo blog è molto breve; hai praticamente incluso l'intera cosa qui, quindi anche il link al tuo blog sembra spam. Inoltre, non hai rivelato che è il tuo blog a cui ti sei collegato. Ho rimosso il collegamento; per favore leggi le FAQ su Self Promotion prima di postare ulteriori collegamenti al tuo blog. Puoi inserire il link del tuo blog nel tuo profilo qui; Stack Overflow non è pensato per essere pubblicità per il tuo blog tramite le risposte, però. –

+0

Mi sembra buono. Grazie per il chiarimento –

+0

Siete i benvenuti :) –

Problemi correlati