2011-01-14 6 views
9

Lubię wyjście stołowego że program klienta mysql produkuje w trybie interaktywnym, ale gdy próbuję uruchomić skrypt sql tak:W jaki sposób uzyskujesz dane wyjściowe z MySQL w formacie nieinteraktywnym?

mysql -uroot mydb < myscript.sql 

dostaję kartę oddzielone tylko wyjście.

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

produkuje dane wyjściowe w pożądanym formacie tabeli.

Jak mogę uzyskać pierwsze polecenie do wygenerowania danych wyjściowych w formacie tabeli? Nie chcę wyjścia HTML, ale wyjście z terminalu z wyrównanymi kolumnami i nagłówkami.

+0

możliwie wtórnika [MYSQL różni się na wyjściu z skryptu] (http: //stackoverflow.com/questions/13790956/mysql-differs-in-output-from-script) –

+0

Dzięki za publikację, potrzebowałem tego samego. Używam także terminu "nieinteraktywny", ale nie wiem, czy jest to termin powszechnie używany. Zastanawiam się, czy ta forma wykonania (tj. Bezpośrednio z powłoki) ma jakieś inne nazwy - tryb wsadowy? –

Odpowiedz

7

Dodaj opcję -t do mysql (tabela).

mysql -t -uroot mydb < myscript.sql 

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

Zastosowanie \ p Opcja mniej -S przed wykonaniem dalszych

mysql> \P less -S 

PRZYWOŁAWCZEGO ustawiony na "mniej -s

+2

Odpowiedź na Twoim blogu jest bardzo krótka; Zasadniczo włączyłeś tutaj całą sprawę, więc połączenie z Twoim blogiem również wydaje się być spamem. Ponadto nie ujawniłeś, że jest to Twój blog, z którym się łączyłeś. Usunąłem link; przeczytaj FAQ na temat Self Promotion przed zamieszczeniem dalszych linków do swojego bloga. W tym miejscu możesz umieścić swój blog w swoim profilu; Stack Overflow nie jest jednak reklamą Twojego bloga za pomocą odpowiedzi. –

+0

Brzmi dobrze dla mnie. Dziękujemy za wyjaśnienia. –

+0

Serdecznie zapraszamy :) –

Powiązane problemy