Tworzenie i wybór bazy danych
Teraz, kiedy już wiesz jak wprowadzać polecenia, nadszedł czas na uzyskanie dostępu do jakieś bazy.
Przypuśćmy, że masz w domu kilka zwierząt i chciałbyś na bieżąco notować różne informacje z nimi związane.
Możesz tego dokonać przez stworzenie tabel do przechowywania danych i wpisywania do nich pożądanych informacji.
Potem możesz uzyskiwać z nich odpowiedzi na różnorodne pytania dotyczące zwierząt. Ta część kursu pokaże Ci, jak to wszystko
zrobić:
- jak utworzyć bazę danych
- jak utworzyć tabele w bazie
- jak zapisać dane do tabel
- jak na różne sposoby odczytywać dane z tabel bazy
- jak używać wielu tabel na raz
Baza danych menażerii będzie celowo prosta, ale nie jest trudnym zadaniem wymyślić sytuacje z życia wzięte, w których można
użyć podobnej bazy. Np.: podobna baza może być stosowana przez farmera do śledzenia stanu swoich zwierząt lub weterynarza
dla swoich pacjentów.
W celu zobaczenia jakie bazy danych aktualnie istnieją na serwerze użyj instrukcji SHOW
:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+
Na Twoim komputerze lista ta prawdopodobnie będzie inna, jednak bardzo możliwe, że będą wśród nich również bazy mysql
i test
. Baza mysql
jest niezbędna, ponieważ opisuje ona prawa dostępu użytkowników.
Baza test
natomiast jest często używana jako baza robocza do sprawdzania różnych rzeczy.
Jeżeli baza test
istnieje, możesz uzyskać do niej dostęp:
mysql> USE test
Database changed
Zauważ, że USE
, podobnie jak QUIT
, nie wymaga średnika. Możesz go oczywiście użyć, to nie zaszkodzi.
Instrukcja jest wyjątkowa z jeszcze jednego względu: musi zostać w całości podana w jednej linii.
Możesz używać bazy test
- jeżeli masz do niej dostęp - do pokazanych niżej przykładów. Jednak pamiętaj, że wszystko
co stworzysz będzie mogło być usunięte przez kogoś innego, kto tylko ma dostęp do tej bazy. Z tego względu, powinieneś raczej
poprosić swojego administratora o możliwość używania własnej bazy. Przypuśćmy, że chcesz ją nazwać menazeria
.
Administrator powinien wydać polecenie:
mysql> GRANT ALL ON menazeria.* TO twoja_nazwa_w_mysql;
gdzie twoja_nazwa_w_mysql
jest nazwą użytkownika MySQL przypisaną do Ciebie, czyli nazwą, pod którą jesteś
identyfikowany przez MySQL.
Tworzenie i wybieranie bazy danych
Jeżeli administrator utworzył dla Ciebie bazę podczas nadawania Ci praw, możesz jej od razu użyć. W przeciwnym wypadku musisz
ją utworzyć samodzielnie:
mysql> CREATE DATABASE menazeria;
W systemie Unix, bazy danych są wrażliwe na wielkość liter, więc do swojej bazy musisz się zawsze odwoływać jako do
menazeria
, a nie np.: Menazeria
, MENAZERIA
lub jeszcze inaczej. Ta reguła obowiązuje
również przy nazwach tabel. W systemie Windows nie ma to zastosowania, jednak odwołując się do bazy i tabel musisz używać tej
samej wielkości liter w całym zapytaniu.
Utworzenie bazy danych nie wybiera jej automatycznie do użytku. Musisz to zrobić sam. Aby uczynić menazerie
baza
bieżąca użyj poniższego polecenia:
mysql> USE menazeria\nDatabase changed
Baza danych tworzona jest tylko raz, ale za każdym razem kiedy rozpoczynasz sesję z mysql
musisz ją wybrać do użytku.
Można to robić instrukcją USE
jak to pokazano powyżej, ale możesz też wybrać żądaną bazę w linii poleceń podczas
wywoływania mysql
. Po prostu podaj jej nazwę po wszelkich potrzebnych parametrach połączenia. Na przykład:
shell> mysql -h host -u user -p menazeria
Enter password: ********
Zauważ, że menazeria
nie jest Twoim hasłem. Jeżeli chcesz podać hasło w linii poleceń po opcji -p
musisz to zrobić bez spacji oddzielającej (np. jako -pmoje_haslo
, a nie jako -p moje_haslo
).
Pamiętaj też, że podawanie hasła w linii poleceń nie jest zalecane ponieważ jesteś narażony na podglądnięcie hasła przez
inną osobę zalogowaną na Twoim komputerze.