Prawo Murphy'ego: Stopień głupoty twojego postępowania, jest wprost proporcjonalny do liczby przyglądających ci się osób.
Kurs MySQL - używanie MySQL w trybie wsadowym

Używanie mysql w trybie wsadowym

W poprzednich częściach używałeś mysql w trybie interaktywnym do wprowadzania poleceń i oglądania wyników. Możesz go też uruchomić w trybie wsadowym. Aby to zrobić, zapisz swoje polecenia do pliku tekstowego, a następnie każ mysql przeczytać jego zawartość:

    shell> mysql < plik_z_poleceniami

Jeżeli musisz podać w linii poleceń parametry wymagane do połączenia, może to wyglądać tak:

    shell> mysql -h host -u user -p < batch-file
    Enter password: ********

Używając mysql w ten sposób tworzysz plik skryptu który następnie jest wykonywany.

Po co używać skryptów? Z kilku powodów:

  • jeżeli wykonujesz jakieś zapytania okresowo (powiedzmy codziennie lub co tydzień) korzystając z takiego skrypt unikasz pisania tego samego za każdym razem;
     
  • możesz tworzyć nowe zapytania na bazie istniejących przez skopiowanie podobnych fragmentów i późniejszą edycję;
     
  • tryb wsadowy może być również bardzo użyteczny, kiedy pracujesz nad jakimś skomplikowanym, wielowierszowym zapytaniem lub ciągiem instrukcji składającej się z wielu poleceń; jeżeli gdzieś popełnisz błąd, to nie będziesz musiał przepisywać wszystkiego (w niektórych systemach powłoka posiada opcję historii poleceń, co także chroni przed przepisywaniem tego samego wiele razy): poprawiasz błąd w skrypcie i wykonujesz go ponownie;
     
  • jeżeli Twoje zapytanie zwraca obszerny wynik możesz skorzystać z narzędzi pozwalających na oglądanie go w częściach zamiast przewijania całości do początku:
        shell> mysql < plik_z_poleceniami | more
    
  • możesz przechwycić wynik zapytania w celu dalszego przetwarzania:
         shell> mysql < plik_z_poleceniami > wynik_mysql.txt");
    
  • możesz rozpowszechniać swoje skrypty wśród innych ludzi;
     

Domyślnie, przy korzystaniu z mysql w trybie wsadowym, wynik jest trochę inny (bardziej zwięzły) niż w trybie interaktywnym. Na przykład, wynik zapytania SELECT nazwa FROM zwierzeta; przy korzystaniu z wiersza poleceń byłby następujący:

    +-------+
    | nazwa |
    +-------+
    | pies  |
    | kot   |
    | gil   |
    | szpak |
    | karp  |
    | lin   |
    +-------+

Jeżeli wykonasz to samo zapytanie w trybie wsadowym otrzymamy:

    pies
    kot
    gil
    szpak
    karp
    lin

Jeżeli chcesz otrzymywać taki sam wynik w trybie wsadowym jak w interaktywnym użyj: mysql -t. Aby do wyniku dołączyć treść wykonywanego polecenia użyj: mysql -vvv.

« wstecz   dalej »