Jak otworzyć konsolę mysql. MySQL – polecenia konsoli Windows. Podstawowe polecenia konsoli

Poniżej znajduje się lista najbardziej przydatnych i często używanych poleceń MySQL'a z przykładami.

mysql na początku linii oznacza, że ​​polecenie zostanie wykonane po zalogowaniu MySQL'a.

Symbol # lub $ na początku linii oznacza, że ​​polecenie zostanie wykonane z linii poleceń.

Aby sprawdzić status serwera MYSQL Do:

Dla FreeBSD:

# status serwera mysql usługi

V CentOS/RHEL:

# status usługi mysqld

MySQL'a z konsoli, jeśli serwer MySQL'a jest na tym samym hoście:

Aby połączyć się z serwerem MySQL'a z konsoli, jeśli serwer MySQL'a znajduje się na zdalnym hoście db1.example.com:

$ mysql -u nazwa użytkownika -p -h db1.example.com

Praca z bazami danych i tabelami - przeglądanie, usuwanie, edycja rekordów. Konsola

Utwórz bazę danych na MySQL'a serwer:

Mysql tworzy bazę danych

Pokaż listę wszystkich baz danych na serwerze MySQL'a:

użycie mysqla;

Wyświetl wszystkie tabele w bazie danych:

Mysql pokazuje tabele;

Zobacz format tabeli w bazie danych:

mysql opisz;

Usuń bazę danych:

Mysql upuść bazę danych;

Usuń tabelę z bazy danych:

Tabela upuszczania Mysql;

Pokaż całą zawartość tabeli:

Mysql WYBIERZ * Z;

Wyświetl kolumny i zawartość kolumn w wybranej tabeli:

Mysql pokazuje kolumny z;

Wyświetl wiersze w określonej tabeli zawierające „cokolwiek”:

Mysql WYBIERZ * OD GDZIE = „cokolwiek”;

Wyświetl wszystkie rekordy w określonej tabeli zawierającej „Bob” i numer telefonu „3444444:

Mysql WYBIERZ * OD GDZIE imię = „Bob” ORAZ numer_telefonu = „3444444”;

Pokaż wszystkie wpisy, NIE zawierający imię „Bob” i numer telefonu „3444444”, posortowane według pola numer_telefonu:

Mysql SELECT * FROM GDZIE nazwa != " Bob " ORAZ numer_telefonu = " 3444444 " zamów według numeru telefonu;

Pokaż wszystkie wpisy zaczynające się na litery „bob” i numer telefonu „3444444” w określonej tabeli:

Mysql SELECT * FROM GDZIE nazwa, np. „Bob%” ORAZ numer_telefonu = „3444444”;

Pokaż wszystkie wpisy zaczynające się na litery „bob” i numer telefonu „3444444”, ograniczając wpisy od 1 do 5:

Mysql SELECT * FROM WHERE nazwa taka jak „Bob%” ORAZ numer_telefonu = „3444444” limit 1,5;

Używanie wyrażeń regularnych („REGEXP BINARY”) do wyszukiwania rekordów. Na przykład w przypadku wyszukiwania bez uwzględniania wielkości liter znajdź wszystkie rekordy zaczynające się na literę A:

Mysql WYBIERZ * skad rec RLIKE "^a";

Pokaż wszystkie unikalne wpisy:

Mysql WYBIERZ RÓŻNE OD ; mysql WYBIERZ, Z ZAMÓWIENIA WEDŁUG OPISU;

Pokaż liczbę wierszy w tabeli:

Mysql WYBIERZ LICZBĘ(*) Z ;

Mysql WYBIERZ SUMĘ(*) Z ;

Usuwanie kolumny:

Mysql zmień kolumnę upuszczania tabeli;

Dodanie kolumny do bazy danych:

Mysql zmień tabelę, dodaj kolumnę varchar (20);

Zmiana nazwy kolumny:

Zmiana tabeli Mysql varchar(50);

Utwórz kolumnę o unikalnej nazwie, aby uniknąć duplikatów nazw:

Tabela zmian Mysql dodaj unikalną();

Zmiana rozmiaru kolumny:

Mysql zmień tabelę modyfikuj VARCHAR(3);

Usuwanie kolumny z tabeli:

Mysql zmienia indeks spadku tabeli;

Mysql WCZYTAJ PLIK DANYCH " /tmp/nazwa_pliku.csv " zamień NA POLA TABELI ZAKOŃCZONE PRZEZ "", LINIE ZAKOŃCZONE "n" (pole1,pole2,pole3);

Użytkownicy serwera MySQL, hasła - dodawanie, zmiana użytkowników i haseł. Konsola

Tworzenie nowego użytkownika - połączenie z serwerem MySQL'a jako root przejdź do bazy danych, dodaj użytkownika, zaktualizuj uprawnienia:

# mysql -u root -p mysql użyj mysql; mysql WSTAW DO użytkownika (Host, Użytkownik, Hasło) WARTOŚCI("%"," nazwa użytkownika ", HASŁO(" hasło ")); uprawnienia do opróżniania mysql;

Zmiana hasła użytkownika z konsoli na zdalnym hoście db1.example.org:

# mysqladmin -u nazwa użytkownika -h db1.example.org -p hasło "nowe-hasło"

Zmiana hasła użytkownika z konsoli MySQL'a- połącz się jako root, zaktualizuj hasło, zaktualizuj uprawnienia:

# mysql -u root -p mysql USTAW HASŁO DLA „użytkownika”@”nazwa hosta” = HASŁO(”hasłotutaj”); uprawnienia do opróżniania mysql;

Odzyskiwanie/zmiana hasła serwera root MySQL'a- zatrzymywać się MySQL'a, uruchom bez tabel uprawnień, połącz się jako root, ustaw nowe hasło, wyjdź i uruchom ponownie MySQL'a.

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql update user set hasło=HASŁO(" newrootpassword ") gdzie User="root"; mysql; uprawnienia do spłukiwania; mysql zakończ # /etc/init.d/mysql stop # /etc/init.d/mysql start

Ustaw hasło roota, jeśli jest ono ustawione.

# mysqladmin -u hasło roota nowehasło

Zaktualizuj hasło roota:

# mysqladmin -u root -p stare hasło nowe hasło

Ustawienie prawa do łączenia się z serwerem z hosta localhost hasłem "passwd" - połączenie z subrootem, przejście do bazy danych, ustawienie uprawnień, aktualizacja uprawnień:

# mysql -u root -p mysql użyj mysql; mysql przyznaj użycie *.* bobowi @localhost zidentyfikowanemu przez " passwd "; uprawnienia do opróżniania mysql;

Ustawianie uprawnień użytkownika do korzystania z bazy danych - łączenie się jako root, przełączanie do bazy danych, ustawianie uprawnień, aktualizacja uprawnień:

# mysql -u root -p mysql użyj mysql; mysql WSTAW DO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) WARTOŚCI („%”, „nazwa bazy danych”, „nazwa użytkownika”, „Y”, „Y”, „Y”,” T”, „T”, „N”); uprawnienia do opróżniania mysql;

Mysql przyznaje wszystkie uprawnienia do nazwy bazy danych .* nazwie użytkownika @localhost; uprawnienia do opróżniania mysql;

Aktualizacja informacji w bazie:

ZESTAW AKTUALIZACJI Mysql Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" gdzie = użytkownik";

Usuwanie wiersza w tabeli:

Mysql DELETE skąd = „cokolwiek”;

Aktualizacja uprawnień w bazie danych:

Przywileje opróżniania Mysql;

Kopie zapasowe - tworzenie, przywracanie baz danych. Konsola

Utwórz kopię zapasową (zrzut) wszystkich baz danych w pliku alldatabases.sql:

# mysqldump -u root -p hasło -opt; /tmp/alldatabases.sql

Utwórz kopię zapasową jednej bazy danych w pliku nazwabazy danych.sql:

# mysql dump -u nazwa użytkownika -p hasło -databases nazwabazy danych; /tmp/nazwabazydanych.sql

Utwórz kopię zapasową jednej tabeli w pliku nazwabazy danych.nazwatabeli.sql:

# mysql dump -c -u nazwa użytkownika -p hasło nazwabazy danych nazwatabeli; /tmp/nazwabazydanych.nazwatabeli.sql

Przywracanie bazy danych (lub tabeli) z kopii zapasowej:

# mysql -u nazwa użytkownika -p hasło nazwabazy danych< /tmp/databasename.sql

Tworzenie tabel bazy danych. Konsola

nazwy kolumn podano małymi literami;
WIELKIMI literami - typy i atrybuty kolumn;
w (nawiasach) - wartość typu kolumny.

Utwórz tabelę, przykład 1:

mysql CREATE TABLE (imię VARCHAR(20), środkowy inicjał VARCHAR(3), nazwisko VARCHAR(35), przyrostek VARCHAR(3), identyfikator biura VARCHAR(10), identyfikator użytkownika VARCHAR(15), nazwa użytkownika VARCHAR(8), adres e-mail VARCHAR(35) ), telefon VARCHAR(25), grupy VARCHAR(15), znacznik daty DATA, znacznik czasu CZAS, pgpemail VARCHAR(255));

Utwórz tabelę, przykład 2:

Mysql utwórz tabelę (osoba INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, imię VARCHAR(35), drugie imię VARCHAR(50), nazwisko VARCHAR(50) domyślnie "bato");

Narzędzie wiersza poleceń mysql jest prostą powłoką SQL (z możliwościami biblioteki readline projektu GNU). Obsługuje tryby interaktywne i nieinteraktywne. W trybie interaktywnym wyniki zapytania prezentowane są w formacie ASCII. W przypadku użycia w trybie nieinteraktywnym (na przykład jako filtr) wynik jest prezentowany w formacie tekstowym rozdzielanym tabulatorami (format wyjściowy można zmienić za pomocą opcji wiersza poleceń). Skrypty można uruchamiać w sposób pokazany poniżej:

Powłoka> dane wyjściowe bazy danych mysql.tab

Jeśli wystąpią problemy z powodu niewystarczającej ilości pamięci na danym kliencie, użyj opcji --quick! Zmusi to mysql do użycia funkcji mysql_use_result() zamiast funkcji mysql_store_result() w celu uzyskania wynikowego wyboru danych.

Korzystanie z mysql jest bardzo łatwe. Uruchom bazę danych mysql lub mysql --user=nazwa_użytkownika --password=baza danych twojego_hasła np. Wpisz polecenie SQL bezpośrednio w wierszu poleceń, kończąc je jednym z następujących znaków: `;" , `\g" lub `\G" i naciśnij klawisz ``Enter'.

Narzędzie wiersza poleceń mysql obsługuje następujące opcje:

Pomoc Wyświetla informacje pomocy dotyczące korzystania z programu i kończy jego działanie. -A, --no-auto-rehash Wyłącza automatyczne ponowne mieszanie. rehash powinien zostać użyty do uzyskania skrótu tabel i pól. Dzięki temu mysql uruchamia się szybciej. --prompt=... Ustawia monit o wprowadzenie poleceń w określonym formacie. -b, --no-beep Wyłącza sygnał dźwiękowy błędu. -B, --batch Wynikiem jest tryb wsadowy rozdzielany tabulatorami, każda linia w nowej linii. Plik historii nie jest używany. --character-sets-dir=... Katalog, w którym znajdują się zestawy znaków. -C, --compress Użyj kompresji danych w protokole serwer/klient. -#, --debug[=...] Dziennik debugowania. Wartość domyślna to „d:t:o,/tmp/mysql.trace”. -D, --database=... Nazwa bazy danych, która ma być używana. Najczęściej używane w pliku konfiguracyjnym `my.cnf". --default-character-set=... Ustawia domyślny zestaw znaków. -e, --execute=... Wykonaj polecenie i wyjdź z programu (wypisz wynik jak dla --batch).-E, --vertical Wydrukuj wyniki zapytania (ciągi) w pionie. Możesz wygenerować wynik w podobny sposób bez tego parametru, kończąc polecenia \G. -f, --force Kontynuuj przetwarzanie nawet jeśli napotkano błąd SQL -g, --no-named-commands Wyłącza nazwane polecenia. Używaj tylko poleceń w postaci \* lub używaj nazwanych poleceń tylko na początku wiersza zakończonego znakiem `;” . Począwszy od wersji 10.9 klient zaczyna od tej opcji, dołączony domyślny! Jednak w przypadku opcji -g długie polecenia nadal działają od pierwszego wiersza. -G, --enable-named-commands Włącza nazwane polecenia. Dozwolone są długie polecenia, a także skrócone polecenia, takie jak \*. -i, --ignore-space Ignoruje spację po nazwach funkcji. -h, --host=... Połącz się z bazą danych na określonym hoście. -H, --html Wydrukuj wynik jako HTML. -L, --skip-line-numbers Pomiń numery linii w przypadku błędów. Przydatne do porównywania plików wynikowych zawierających komunikaty o błędach. --no-pager Wyłącza pager (pager) i zapisuje wynik na standardowe wyjście (w systemie Unix). Zobacz także polecenie \h (pomoc online). --no-tee Blokuje plik wyjściowy. Zobacz także polecenie \h (pomoc online). -n, --unbuffered Czyści bufor po każdym żądaniu. -N, --skip-column-names Pomiń nazwy kolumn w wynikach. -O, --set-variable var=opcja Ustawia wartość zmiennej. Lista używanych zmiennych jest wyświetlana poprzez --help . -o, --one-database Aktualizuje tylko domyślną bazę danych. Umożliwia pominięcie aktualizacji innej bazy danych w dzienniku aktualizacji. --pager[=...] Ustawia typ danych wyjściowych. Domyślnie jest to zmienna środowiskowa PAGER. Możliwe wartości to less, more, cat [> nazwa pliku] itp. Zobacz także polecenie \h (pomoc online). Ta opcja nie działa w trybie wsadowym. Pager działa tylko pod Unixem. -p, --password[=...] Hasło używane podczas łączenia się z serwerem bazy danych. Jeśli w wierszu poleceń nie zostanie określone hasło, użytkownik zostanie poproszony o jego podanie. Używając krótkiej formy -p, nie zostawiaj spacji pomiędzy parametrem a wartością hasła. -P --port=... Numer portu TCP/IP używanego do połączenia. -q, --quick Nie buforuje wyników. Wydrukuj wiersz po wierszu, tak jak pochodzi z serwera. Może to spowolnić prędkość serwera, jeśli wydruk zostanie wstrzymany. Plik historii nie jest używany. -r, --raw Pokaż wartości kolumn bez żadnej konwersji. Używane z --batch . -s, --silent Tryb cichy. Wyświetlaj tylko komunikaty o błędach. -S --socket=... Plik gniazda używany do połączenia. -t --table Wyprowadź wynik w formacie tabeli. Domyślnie ustawiony dla trybu innego niż wsadowy. -T, --debug-info Wypisuje informacje debugowania przy wychodzeniu z programu. --tee=... Dołącz coś do pliku wyjściowego. Zobacz także polecenie \h (pomoc online). Ta opcja nie działa w trybie wsadowym. -u, --user=# Nazwa użytkownika MySQL, jeśli ten użytkownik nie jest w tym czasie aktywny. -U, --safe-updates[=#], --i-am-a-dummy[=#] Zezwala tylko na operacje UPDATE i DELETE przy użyciu klawiszy. Więcej informacji na temat tej opcji znajduje się poniżej. Możesz zresetować ten parametr, ustawiając wartość argumentu --safe-updates=0 w pliku konfiguracyjnym `my.cnf' -v, --verbose Bardziej zaawansowany tryb wyjściowy (-v -v -v podaje format wyjściowy tabeli) -V , --version Wydrukuj informacje o wersji i zakończ program -w, --wait Jeśli połączenie z serwerem nie powiedzie się, poczekaj i spróbuj je przywrócić, zamiast przerywać pracę.

Następujące zmienne można również ustawić za pomocą opcji wiersza poleceń -O lub --set-variable:

Jeśli w wierszu poleceń wpiszesz help, mysql wyświetli listę obsługiwanych poleceń:

Mysql> help Polecenia Pomoc MySQL (\h) Drukuje podany tekst. ? (\h) Synonim pomocy. wyczyść (\c) Polecenie Wyczyść. connect (\r) Połącz się ponownie z serwerem. Dodatkowymi argumentami są db i host. edit (\e) Edytuj bieżące polecenie za pomocą $EDITOR. ego (\G) Wyślij bieżące polecenie MySQL do serwera i wyświetl wynik w pionie. wyjście (\q) Wyjdź z programu. To samo co rzucić. go (\g) Wyślij bieżące polecenie MySQL na serwer. nopager (\n) Blokuje pager, wyjście na standardowe wyjście. note (\t) Nie dodawaj wpisów do pliku wyjściowego pliku wyjściowego. pager (\P) Ustaw PAGER . Wyświetl wyniki zapytania poprzez PAGER. print (\p) Wydrukuj bieżące polecenie. zachęta (\R) Zmień format zachęty do wprowadzania poleceń mysql. Quit (\q) Wyjdź z programu. rehash (\#) Przywróć tablicę mieszającą. source (\.) Uruchom plik ze skryptem SQL. Podaj nazwę pliku jako argument. status (\s) Uzyskaj informacje o stanie serwera. tee (\T) Ustawia parametr pliku wyjściowego. Dołącz coś do podanego pliku wyjściowego. use (\u) Użyj innej bazy danych. Podaj nazwę bazy danych jako argument.

Polecenie pager działa tylko w systemie Unix.

Wynik tego jest następujący:

  • Niedozwolone jest wykonywanie poleceń UPDATE i DELETE, chyba że w klauzuli WHERE określono ograniczenia dotyczące kluczy. Można jednak wymusić wykonanie poleceń UPDATE / DELETE za pomocą instrukcji LIMIT: UPDATE nazwa_tabeli SET not_key_column=# WHERE not_key_column=# LIMIT 1;
  • Wszelkie wyniki, które są zbyt duże, są ograniczone liniami #select_limit#.
  • Operacje SELECT, które mogą wymagać do wykonania większej liczby kombinacji wierszy niż #max_join_size#, zostaną przerwane.

Kilka przydatnych wskazówek dotyczących korzystania z klienta mysql:

Niektóre dane są bardziej czytelne, gdy są wyprowadzane w pionie zamiast w powszechnie używanym poziomym oknie wyjściowym. Na przykład tekst dłuższy niż szerszy i zawierający wiele nowych wierszy jest często znacznie łatwiejszy do odczytania w widoku pionowym.

Mysql> WYBIERZ * Z maili GDZIE DŁUGOŚĆ(txt) sbj: UTF-8 txt: >>>>> "Naparstek" == Naparstek Smith pisze: Naparstek> Cześć. Myślę, że to dobry pomysł. Czy ktoś zna naparstek UTF-8> lub Unicode? W przeciwnym razie umieszczę to na mojej liście DO ZROBIENIA i zobaczę, co się stanie naparstek. Tak, proszę, zrób to. Pozdrowienia, plik Monty'ego: inbox-jani-1 hash: 190402944 1 wiersz w zestawie (0,09 s)

  • Aby się zalogować, możesz użyć opcji poleceń tee. Można go uruchomić za pomocą opcji --tee=... dla mysql lub interaktywnie z wiersza poleceń, wprowadzając polecenie tee. Wszystkie dane prezentowane na ekranie zostaną także dołączone do wskazanego pliku. Może to być bardzo przydatne do celów debugowania programu. Narzędzie tee można wyłączyć z wiersza poleceń za pomocą polecenia note. Ponowne uruchomienie komendy te umożliwi ponowne rejestrowanie. Jeśli parametr polecenia tee nie zostanie określony, zostanie użyty poprzedni plik. Należy pamiętać, że polecenie tee zapisze wyniki do pliku po wykonaniu każdego polecenia, tuż przed pojawieniem się wiersza polecenia umożliwiającego wprowadzenie następnego polecenia.
  • Dzięki opcji --pager[=...] możliwe stało się interaktywne przeglądanie lub wyszukiwanie wyników za pomocą programów uniksowych less, more lub innych podobnych. Jeśli nie określisz jawnie argumentu w tym parametrze, klient mysql będzie szukać zmiennej środowiskowej PAGER i ustawi jej wartość na pager . Program pager można także uruchomić z interaktywnego wiersza poleceń za pomocą polecenia pager i zatrzymać za pomocą polecenia nopager. Polecenie może przyjmować argument, który jest opcjonalny; pager zostanie ustawiony na wartość tego argumentu. Polecenie pager można wywołać bez argumentu, ale wymaga to użycia opcji --pager lub odpowiedniego ustawienia domyślnego stdout . Polecenie pager działa tylko w systemie Unix, ponieważ wykorzystuje funkcję popen(), która nie jest dostępna w systemie Windows. W systemie Windows można zamiast tego użyć parametru tee, chociaż w niektórych sytuacjach jest to mniej wygodne niż użycie polecenia pager.
  • Kilka wskazówek na temat polecenia pager: Można go użyć do zapisu do pliku: mysql> pager cat > /tmp/log.txt, a wyniki zostaną przesłane tylko do pliku. Programy wywoływane poleceniem pager mogą akceptować dowolne prawidłowe opcje: mysql> pager less -n -i -S Zwróć szczególną uwagę na opcję -S w powyższym przykładzie. Może to być bardzo przydatne podczas przeglądania wyników. Spróbuj użyć go z wyjściem poziomym (polecenia zakończenia za pomocą „\g” lub „;”) i z wyjściem pionowym (polecenia zakończenia za pomocą „\G”). Bardzo obszerne wyniki wyjściowe są czasami trudne do odczytania z ekranu, w tym przypadku polecenie less z opcją -S umożliwi interaktywne przeglądanie wyników od lewej do prawej, a gdy pojawią się linie o długości większej niż szerokość ekranie, ich dane wyjściowe będą nadal wysyłane z nowej linii. Dane wyjściowe w takich przypadkach są bardziej czytelne. Kiedy interaktywnie wywołujesz polecenie less z opcją „-S”, możesz przełączyć jego tryb działania (wł./wył.) z wiersza poleceń. Więcej informacji na temat less znajdziesz w opisie komendy "h".
  • Podsumowując, zauważamy (jeśli jeszcze tego nie zrozumiałeś z poprzednich przykładów), że możliwe jest łączenie bardzo złożonych metod przetwarzania wyników. Zatem w poniższym przykładzie wyniki zostaną przesłane do dwóch różnych katalogów zamontowanych na dwóch różnych dyskach twardych w /dr1 i /dr2, a mimo to wyniki można zobaczyć na ekranie za pomocą polecenia less: mysql> pager cat | tee /dr1/tmp/res.txt | \ tee /dr2/tmp/res2.txt | mniej -n -i -S
  • Powyższe funkcje można także łączyć: uruchamiając tee i ustawiając pager na less, można przeglądać wyniki za pomocą polecenia Unix less i jednocześnie zapisywać je do pliku. Różnica pomiędzy narzędziem Unix tee używanym w programie pagera a wbudowanym poleceniem tee w kliencie mysql polega na tym, że wbudowane polecenie tee działa nawet wtedy, gdy narzędzie tee nie jest dostępne w systemie Unix. Wbudowane polecenie tee rejestruje również wszystko, co jest wyświetlane na ekranie, podczas gdy uniksowe narzędzie tee używane z pagerem nie robi tego w wystarczającym stopniu. Ostatnią, ale ważną kwestią jest to, że polecenie interaktywne tee jest wygodniejsze do włączania/wyłączania trybów, jeśli czasami trzeba wyłączyć tę funkcję podczas zapisywania do pliku.

Możesz zmienić format podpowiedzi w wierszu poleceń klienta mysql.

Możliwe są następujące opcje zaproszeń:

Opcja Opis
\vwersja mysqlda
\Dnazwa używanej bazy danych
\Hnazwa hosta, z którym chcesz się połączyć
\Pnumer portu, przez który nawiązywane jest połączenie
\uNazwa użytkownika
\Upełny adres nazwa użytkownika@host
\\ ukośnik odwrotny ``
\Nznak nowej linii
\Ttabulacja
\ przestrzeń
\_ spacja z podkreśleniem
\Rczas w wojskowej strefie czasowej (0-23)
\Rczas według standardowej strefy czasowej (1-12)
\Mminuty
\ykategorie dwuletnie
\Tkategorie czteroletnie
\Dpełny format daty
\Ssekundy
\wdzień tygodnia w formacie trzyliterowym (poniedziałek, wtorek, ...)
\PCzas przed południem/po południu (am/pm)
\ omiesiąc w formacie liczbowym
\Omiesiąc w formacie trzyliterowym (styczeń, luty, ...)
\CLicznik zliczający liczbę wprowadzonych poleceń

Znak „”, po którym następuje jakakolwiek inna litera, po prostu uzupełnia tę literę.

Opcje zaproszeń możesz ustawić w następujący sposób:

W zmiennych środowiskowych Można ustawić zmienną środowiskową MYSQL_PS1 dla ciągu znaków zachęty. Na przykład: powłoka> eksport MYSQL_PS1="(\u@\h) [\d]> " `mój.cnf' `.mój.cnf" Opcję podpowiedzi można ustawić w dowolnym pliku konfiguracyjnym MySQL w grupie mysql. Na przykład: zachęta=(\u@\h) [\d]>\_ W wierszu poleceń Możesz ustawić opcję --prompt z wiersza poleceń mysql. Na przykład: powłoka> mysql --prompt="(\u@\h) [\d]> " (użytkownik@host) > Interaktywnie Do interaktywnej zmiany ustawień podpowiedzi można także użyć polecenia Prompt (lub \R). Na przykład: mysql> Prompt (\u@\h) [\d]>\_ PROMPT ustawiony na "(\u@\h) [\d]>\_" (użytkownik@host) > (użytkownik@host) > zachęta Wróć do oryginalnych (domyślnych) ustawień PROMPT w narzędziu mysql> mysql>

Witajcie, drodzy czytelnicy bloga, czas zmienić zwykłego phpMyAdmina na bardziej brutalne narzędzie do zarządzania bazami danych. Dzisiaj poznamy konsolę MySQL i nauczymy się wykonywać standardowe polecenia, a także polecenia odzyskiwania bazy danych. Konsola MySQL- jest to standardowy system DBMS (System zarządzania bazą danych) dla MySQL, dostarczany z produktem.

Kiedy konsola MySQL może się przydać?

Z punktu widzenia początkującego programisty WWW, phpMyAdmina wykonuje wszystkie funkcje niezbędne do normalnej pracy. Wyobraź sobie, że jesteś nie tylko programistą WWW, ale także po części administratorem systemu, który po awarii ma obowiązek odtworzyć bazę danych.

W takim przypadku nie można obejść się bez umiejętności pracy z konsolą MySQL. Nieco później przyjrzymy się poleceniom przywracania bazy danych za pomocą konsoli, ale na razie zacznijmy od podstaw.

Jak uruchomić konsolę MySQL

Możesz uruchomić konsolę za pomocą Eksploratora Windows, znajdując narzędzie mysql.exe w folderze MySQL. Zwykle znajduje się pod adresem: [ścieżka do folderu]\mysql\bin\mysql.exe. Jeśli korzystasz z Denver, Konsola MySQL, powinieneś spojrzeć w tym kierunku:
C:\WebServer\usr\local\mysql\bin\mysql.exe

Oprócz Eksploratora Windows możesz użyć wiersza poleceń:

  • Uruchom cmd.exe
  • Wpisz pełną ścieżkę do pliku mysql.exe
  • Naciśnij enter

Powinieneś zobaczyć coś takiego:

Błąd wskazuje, że aby uruchomić konsolę mysql należy podać login i hasło użytkownika. Podczas pracy z Denver standardowym użytkownikiem bazy danych jest root z pustym hasłem.
Wykonaj tę samą komendę z dodatkowymi parametrami wskazującymi dane autoryzacyjne.

C:\WebServer\usr\local\mysql-5.1\bin\mysql.exe –u root –p

Jeśli wszystko zostało wykonane poprawnie, otrzymasz komunikat „ Witamy w konsoli MySQL..."

Możesz sprawdzić, czy pomyślnie nawiązałeś połączenie z serwerem bazy danych, wpisując polecenie show Databases; . W wyniku jego wykonania wyświetli się lista baz danych znajdujących się na serwerze.

Spróbujmy wybrać jedną z baz danych i spójrzmy na listę znajdujących się w niej tabel:

użyj testu; pokaż tabele;

W moim przykładzie odwołuję się do testowej bazy danych, jeśli takiej nie posiadasz, skorzystaj z dowolnej innej dostępnej.

W ramach eksperymentu możesz spróbować utworzyć testową bazę danych za pomocą polecenia:

utwórz test bazy danych;

Na który otrzymasz wiadomość: „ QUERY OK, problem dotyczy 1 wiersza", wskazując, że baza danych o nazwie test została pomyślnie utworzona.

Utwórzmy teraz tabelę zamówień w testowej bazie danych.

utwórz tabelę testową (`id` int(11),`content` varchar(255));

I ponownie uruchom polecenie pokaż tabele; , co pokaże, że tabela faktycznie została utworzona i można z nią pracować.

Możesz także spróbować wyświetlić listę kolumn w tabeli:

pokaż kolumny z test.order;

Cóż, na zakończenie naszej znajomości Konsola MySQL, wykonajmy zapytanie:

WYBIERZ * Z zamówienia testowego;

Tak więc, drodzy czytelnicy, gratuluję wam, teraz możecie pracować z MySQL w spartańskich warunkach bez phpMyAdmina. Oto lista codziennych poleceń:

  • UTWÓRZ BAZY DANYCH NAZWA_BAZY DANYCH; — utworzyć nową bazę danych;
  • POKAŻ BAZY DANYCH; — przeglądanie dostępnych baz danych;
  • UŻYJ NAZWY DB; — wybierz bazę danych;
  • POKAŻ TABELE; — zobacz wszystkie tabele;
  • POKAŻ KOLUMNY Z NAZWY TABELI; — przeglądanie kolumn i ich właściwości;
  • UTWÓRZ TABELĘ NAZWA_TABELI (`ID` INT(11),`NAME` VARCHAR(255));— utworzenie tabeli;
  • ZMIEŃ TABELĘ NAZWA_TABELI DODAJ NAZWĘ KOLUMNY INT(11);— dodaj kolumnę do tabeli;
  • ZMIEŃ TABELĘ NAZWA_TABELI USUŃ NAZWĘ KOLUMNY;— usuń kolumnę z tabeli;
  • MYSQL -UUSERNAME -PPASSWORD -HHOST DB_NAME — uzupełnij bazę danych;
  • MYSQLDUMP -NAZWA UŻYTKOWNIKA -PPASSWORD -HHOST NAZWA_DB_BD > NAZWA_PLIKU.SQL— wykonaj zrzut bazy danych;
  • ZREZYGNOWAĆ; — wyjdź z konsoli MySQL.

Polecenia przywracania tabel za pośrednictwem konsoli MySQL

Tak jak obiecałem na początku artykułu, zamieszczam komendy przywracające tabele. Polecenia te mogą być przydatne w przypadku awarii serwera.

Opowiem Wam trochę o tym, jak korzystać z bazy mysql poprzez konsolę, czyli bez korzystania ze standardowego edytora phpmyadmin. Generalnie w Internecie jest mnóstwo materiałów na ten temat, jednak albo jest ich za dużo, czego przeciętny użytkownik nie potrzebuje, albo opisy są zbyt skąpe.

Pierwsze kroki z mysql

Cóż, przede wszystkim zacznijmy od tego, jak zalogować się do mysql, aby to zrobić, musisz wpisać w konsoli:

Mysql -nazwaużytkownika -phasło -hhost

Jesteśmy więc w wierszu poleceń mysql. Nie zapomnij o jednym ważnym punkcie: separatorem poleceń mysql jest „;” (średnik).
Teraz musisz utworzyć bazę danych lub wybrać już utworzoną:

Utwórz bazę danych nazwa_bazy danych; - utwórz nową bazę danych o nazwie nazwa_bazy pokaż bazy danych; - przeglądanie dostępnych baz danych przy użyciu nazwy_danych; - wybierz bazę danych o nazwie nazwa_bazy_danych

Ogólnie rzecz biorąc, wybraliśmy (lub utworzyliśmy) potrzebną nam bazę danych, a teraz przyjrzyjmy się poleceniom do pracy z tabelami:

Pokaż tabele; - zobacz wszystkie tabele pokaż kolumny z nazwa_tabeli; - przeglądanie kolumn i ich właściwości tworzy tabelę nazwa_tabeli (`id` int(11) AUTO_INCREMENT,`name` varchar(255)); - utworzenie tabeli z identyfikatorem i nazwą kolumny alter table nazwa_tabeli dodaj kolumnę1 int(11); - dodaj kolumnę do tabeli zmień tabelę nazwa_tabeli upuść kolumnę1; - usuń kolumnę z tabeli

Cóż, przeglądanie, usuwanie, dodawanie danych odbywa się za pomocą standardowych, dobrze znanych poleceń...
Spójrzmy na przykład z SELECT:

WYBIERZ * Z nazwa_tabeli;

Najprawdopodobniej zamiast cyrylicy zobaczysz różne bełkoty lub znaki zapytania, w zależności od kodowania w Twojej bazie danych i używanej konsoli. Aby to naprawić, po prostu wprowadź polecenie przed wybraniem WYBIERZ

NAZWY USTAWIONE utf8; - częściej dla konsol Linux SET NAMES cp866; - dla okien cmd

UPD: w systemie Windows należy podać pełną ścieżkę do pliku mysql.exe, na przykład C:/apache2/bin/mysql/mysql.exe

Projekt bazy danych – śr

Oczywiście przy dużych projektach tworzenie tabel metodą opisaną powyżej zajmie bardzo dużo czasu, a phpmyadmin też nie jest rozwiązaniem. Jeśli potrzebujesz stworzyć dużą bazę danych i wziąć pod uwagę interakcję wszystkich tabel ze sobą, mogę polecić Ci doskonały edytor dia. Po utworzeniu tabel w tym programie zapisz je w formacie .dia i przekonwertuj do formatu .sql:

Tedia2sql -i plik.dia -o plik.sql

Jeśli chcesz utworzyć lub przesłać zrzut bazy danych, użyj:

Mysql -uusername -ppassword -hhost nazwa_bazy danych< file_name.sql - залить бд mysqldump -uusername -ppassword -hhost db_name >nazwa_pliku.sql - wykonaj zrzut bazy danych

Możesz przesyłać pliki w różnych formatach, na przykład txt..

Od autora: Znów się zgubiłeś i nie wiesz jak zalogować się do MySQL? Nie jesteś pierwszy! Zbierz wszystkich zagubionych, a teraz pójdźmy prosto do niej. Do kogo „do niej”? Do najpopularniejszego systemu DBMS w sieci WWW!

Gdzie znajduje się MySQL w Denver?

Nie chodzi tu o stolicę stanu Kolorado w USA, ale o pakiet oprogramowania do tworzenia i testowania aplikacji w języku PHP. Zestaw dla „panów” zawiera lokalny serwer Apache, serwer MySQL i powłokę phpMyAdmin. To za pomocą tego pakietu oprogramowania „nowicjusze” najczęściej uczą się wszystkich zawiłości pracy z tym systemem zarządzania bazami danych.

Zanim zalogujesz się do MySQL przez przeglądarkę, musisz uruchomić lokalny serwer, następnie w pasku adresu wpisać localhost i w oknie, które się pojawi: „Hurra, działa!” W sekcji narzędzi wybierz phpMyAdmin.

Po czym znajdziesz się tam (w phpMyAdmin).

Do baz danych trafiamy poprzez „labirynt”

Ty i ja wejdziemy do „gęstego” lasu i spróbujemy „przedostać się” przez niego do serwera bazy danych. Nie myśl, że się przed kimś ukrywamy, teraz będziemy się zachowywać jak... Iść!

Przed zalogowaniem się do MySQL poprzez wiersz poleceń warto dowiedzieć się, gdzie znajduje się główny katalog serwera bazy danych. Jeśli używasz SZBD w jego „czystej” postaci, bez „zanieczyszczeń” (poza zestawem „dżentelmena”), to folder główny serwera znajduje się tutaj: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Jeśli używasz Denver, to szukany plik znajduje się w następującej ścieżce: Z:\usr\local\mysql-5.5\bin\mysql.exe,

gdzie Z jest dyskiem wirtualnym tworzonym po uruchomieniu lokalnego serwera WWW. Możesz mieć go pod inną nazwą (a dokładniej literą).

Nas interesuje plik mysql.exe. Uruchommy go podając nazwę serwera bazy danych, hasło i użytkownika pod jakim będziemy się logować do MySQL.

Jak włączyć MySQL za pomocą wiersza poleceń: przejdź do „Start”, wybierz „Wiersz poleceń” ze standardowych programów. Uruchamiamy narzędzie i od tej chwili będziemy krok po kroku opisywać całą procedurę „chodzenia” po gęstym lesie, tak aby cała grupa „zagubionych” ludzi nie zgubiła się ponownie.

W czarnym oknie CMD (wiersz poleceń) wprowadź ścieżkę, w której przechowywany jest plik wykonywalny MySQL, a obok niej wskaż nazwę użytkownika i hasło DBMS. Ponieważ mamy serwer lokalny, nazwę użytkownika root wpisujemy bez hasła po identyfikatorze u.

Jest to w rzeczywistości nieprawidłowe i każdy użytkownik serwera MySQL musi mieć ustawione hasło. Wszystkie kwestie związane z bezpieczeństwem DBMS omówimy bardziej szczegółowo w jednej z naszych kolejnych publikacji.

Oto cały fragment „kodu”: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Jeśli wszystko poszło dobrze, to informacja o wersji uruchomionej usługi, roku wydania i inne „niepotrzebne” dla nas informacje powinny pojawić się poniżej w oknie wiersza poleceń.

Teraz, aby sprawdzić poprawność połączenia, po operatorze mysql> wpiszemy zapytanie, które wyświetli wszystkie bazy danych zapisane na serwerze. Kod zapytania:

pokaż bazy danych;

Nie zapomnij umieścić średnika na końcu żądania, w przeciwnym razie system wyświetli komunikat o błędzie. Po wpisaniu zapytania i naciśnięciu klawisza „Enter” otrzymaliśmy listę wszystkich baz danych przechowywanych na serwerze DBMS:

Ale to nam nie wystarczy. Zagłębmy się jeszcze głębiej w strukturę. Przyjrzyjmy się, jak zalogować się do bazy danych MySQL i uzyskać listę wszystkich jej tabel. Przypomnę, że jesteśmy już autoryzowani na serwerze, więc pozostaje nam tylko wpisać jeszcze jedno żądanie:

pokaż tabele z db1;

pokaż tabele z db1;

db1 to nazwa bazy danych, której potrzebujemy.

Na zrzucie ekranu widzimy, że żądana baza danych zawiera tylko jedną tabelę.

Kopiemy głębiej!

Jak mówią, „apetyt” pojawia się po otrzymaniu wyników wykonania kodu. Dlatego postaramy się sięgnąć jeszcze głębiej, aby uzyskać dane przechowywane w tabeli. Zanim ponownie zalogujemy się do MySQL, oto przykładowe zapytanie SQL, za pomocą którego możemy zrealizować nasze plany:

WYBIERZ * ZE zwierzęcia;

WYBIERZ * ZE zwierzęcia ;

Wpisujemy wniosek, uruchamiamy go do realizacji i... Z jakiegoś powodu serwer dał nam błąd.

A wszystko dlatego, że zapomnieliśmy powiedzieć MySQL, jaka baza danych nas interesuje. Serwer zatem „przysięga”, że żadna baza danych nie jest przydzielona. To po raz kolejny dowodzi, że praca z systemem DBMS za pośrednictwem wiersza poleceń bardzo różni się od interakcji z nim za pośrednictwem powłoki oprogramowania.

W phpMySQL to zapytanie zostanie wykonane pomyślnie, a serwer zwróci wybór wszystkich wierszy zawartych w żądanej tabeli.

Poprawmy nasze częste zaniedbania (przyznanie się do winy zawsze jest trudne) i zanim ponownie zalogujemy się do MySQL przez konsolę, przygotujemy „konkretne” zapytanie, za pomocą którego wskażemy systemowi żądaną bazę danych:

UŻYJ db1 ;

Po wpisaniu tej linii i jej wykonaniu serwer wyświetli komunikat potwierdzający przydzielenie żądanej bazy danych.

A teraz wprowadźmy i uruchommy zapytanie, aby ponownie pobrać wszystkie dane z tabeli zwierząt. „Niech będą dane!” - powiedział administrator i uruchomił SELECT. Dotarliśmy na sam dół db1 i otrzymaliśmy zawartość tabeli zwierząt. Nie bez powodu przed wejściem do bazy MySQL wykonaliśmy cały „rytuał” i napisaliśmy poprawne „zaklęcie” w SQL.

Co jeszcze możesz wykopać?

Sięgnęliśmy głęboko do samego dna MySQL. Teraz kopmy trochę w bok. Jakie inne informacje można uzyskać za pomocą wiersza poleceń, wysyłając zapytanie do MySQL? Chcesz poznać strukturę tabeli, typy danych wszystkich kolumn, klucz podstawowy? Proszę! Uruchom to zapytanie:

opisz zwierzę;

opisywać zwierzę;

Czasami, aby wiedzieć, jak włączyć serwer MySQL, musisz uzyskać listę wszystkich zarejestrowanych użytkowników DBMS. Służy do tego następujące zapytanie.

W górę