PHP/phpMyAdmin: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Zyx (dyskusja | edycje)
rozpoczęcie
Zyx (dyskusja | edycje)
dokończenie
Linia 19:
 
=== Rzut okiem ===
[[grafika:Php-pma-start.png|thumb|400px|right|Ekran startowy phpMyAdmina]]
[[grafika:Php-pma-baza.png|thumb|400px|right|Podgląd bazy danych]]
[[grafika:Php-pma-tabela.png|thumb|400px|right|Struktura tabeli]]
Po uruchomieniu ujrzysz ekran startowy phpMyAdmina. Podczas pracy okno przeglądarki podzielone jest na dwie części: po prawej znajduje się wąski i ciemny pasek. Domyślnie znajduje się w nim lista rozwijana, z której wybieramy interesującą nas bazę danych. Gdy ją wybierzemy, pod spodem wyświetli się również lista znajdujących się w niej tabel. Szersza i jaśniejsza część ekranu to część operacyjna - tu wykonujemy wszystkie operacje.
 
Ekran startowy zawiera różne informacje o stanie połączenia oraz daje dostęp do niektórych opcji. Po prawej stronie możemy zmienić motyw graficzny oraz język interfejsu, natomiast pośrodku ekranu znajdują się rzeczy bardziej powiązane z samym MySQL-em. Pod napisem '''Utwórz nową bazę danych''' widzimy dwa obiekty formularza. W pierwszy z nich wpisujemy nazwę, w drugi kodowanie i po kliknięciu na przycisk "Utwórz" stworzona zostanie nowa baza danych o takich parametrach. Poniżej mamy dostęp do różnych ekranów administracyjnych, np. listy procesów serwera czy edytora uprawnień.
Ekran startowy zawiera informacje o wersji serwera MySQL, parametrach połączenia oraz daje dostęp do paneli zarządzania dostępem, konfiguracją itd. Można tutaj też tworzyć nowe bazy danych - wystarczy wpisać jej nazwę oraz w przypadku MySQL 4.1/5.x wybrać używane w niej kodowanie.
 
Przejdźmy za pomocą części nawigacyjnej do naszej bazy ''produkty''. Zarówno w części nawigacyjnej, jak i na ekranie roboczym pojawi nam się spis tabel, które już utworzyliśmy. WybierającW jednączęści zroboczej nich,dodatkowo możemywidoczna zobaczyćjest szczegółybelka dotyczącenawigacyjna z jejnastępującymi strukturyelementami:
* ''Struktura'' - pokazuje listę tabel, czyli to, co właśnie oglądamy.
*Listę wszystkich pól wraz z typami, parametrami.
* ''SQL'' - ekran do tworzenia i wykonywania zapytań SQL.
*Listę indeksów
* ''Szukaj'' - wyszukiwarka danych
*Informacje o rozmiarze danych w tabeli oraz następnej wartości AUTO_INCREMENT, jeśli takowa istnieje.
* ''Zapytanie przez przykład'' - graficzny edytor zapytań dla nieznających języka SQL (wzorowany na edytorach dostępnych np. w Microsoft Access).
* '''Eksport''' - opcjenarzędzia eksportu bazy danych do różnychpliku SQL lub formatówinnych.
* ''Import'' - narzędzia do importu bazy danych z pliku SQL. W starszych wersjach phpMyAdmina ekran ten był częścią ekranu ''SQL''.
* ''Operacje'' - narzędzia administracyjne: zmiana nazwy bazy danych, kopiowanie, zmiana kodowania.
* ''Uprawnienia'' - pokazuje użytkowników uprawnionych do dostępu do wybranej bazy.
* '''Usuń''' - usuwa tabelę/bazę danych.
 
Na właściwym serwerze WWW ilość zakładek może być ograniczona ze względu na brak uprawnień.
W ekranie roboczym nad listą znajduje się belka nawigacyjna o następujących elementach:
 
* '''Struktura''' - pokazuje strukturę tabeli/bazy
Pod listą tabel znajduje się niewielki formularz inicjujący edytor nowej tabeli. Niebawem z niego skorzystamy, lecz najpierw zapoznamy się jeszcze z widokiem pojedynczej tabeli. Możemy do niego przejść, wybierając nazwę z panelu nawigacyjnego lub klikając na drugą z ikonek w ekranie roboczym przy interesującej nas tabeli. Ujrzymy wtedy ekran podobny do tego przedstawionego na ilustracji 3.
* '''Przeglądaj''' - przeglądarka rekordów
 
* '''SQL''' - umożliwia wykonywanie zapytań SQL. W starszych wersjach zakładka ta służy również do importu baz danych.
Widok tabeli składa się ze szczegółowej listy wszystkich pól pokazującej informacje m.in. o ich typie czy o wartości domyślnej. Poniżej znajduje się prosty formularz umożliwiający dodanie nowych pól do tabeli, a jeszcze niżej informacje dodatkowe: spis indeksów, rozmiar danych w tabeli i statystyka rekordów. Zauważmy, że zmianie uległa belka nawigacyjna. Zniknęła opcja ''Zapytanie przez przykład'', za to doszły dwie nowe:
* '''Dodaj''' - dodawanie nowego rekordu
* ''Przeglądaj'' - wyświetla zawartość tabeli. Jeżeli trzymasz w tabeli dużo rekordów, nie musisz się przejmować - wyniki są porcjowane.
* '''Eksport''' - opcje eksportu bazy danych do różnych formatów.
* '''Wyczyść''' - czyści całkowicie tabelę zapytaniem ''TRUNCATE'' (po uprzednim potwierdzeniu).
Dodatkowo niektóre zakładki zmieniają swoje działanie, np. opcja ''Eksport'' umożliwia teraz eksportowanie tylko aktualnej tabeli.
* '''Usuń''' - usuwa tabelę/bazę.
 
=== Tworzenie tabeli ===
[[grafika:Php-pma-nowa.png|thumb|400px|right|Edytor struktury tabeli]]
 
Aby rozpocząć tworzenie nowej tabeli, przełączmy się na widok bazy danych. Pod listą tabel widoczny jest niewielki formularz zatytułowany "Utwórz nową tabelę". Wpisujemy w nim nazwę nowej tabeli oraz ilość pól, które zamierzamy do niego dodać. Jeśli się pomylisz, nie przejmuj się. Edytor będzie można łatwo powiększyć jeszcze w trakcie edycji, a ponadto można dodawać nowe pola do tabeli już po jej utworzeniu. Po kliknięciu na "Wykonaj" ukaże się rozbudowany edytor umożliwiający dokładne zdefiniowanie struktury. Oto omówienie poszczególnych kolumn:
* '''Nazwa''' - nazwa pola.
* '''Typ''' - z listy wybieramy typ danych, jakie mają być w nim przechowywane.
* '''Długość/wartości''' - dla pól ''VARCHAR'' czy ''CHAR'' podajemy tu maksymalną dozwoloną długość ciągu tekstowego. Dla liczb nie trzeba w sumie nic wpisywać, phpMyAdmin zaproponuje wtedy domyślne wartości, które usatysfakcjonują każdego. Dla pól ''ENUM'' oraz ''SET'' wpisujemy tu listę dozwolonych wartości ujętych w apostrofy i odseparowanych przecinkami.
* '''Metoda porównywania napisów''' - tylko dla pól ''VARCHAR'', ''TEXT'' itp. - wybieramy tutaj, według jakiego kodowania mają być porównywane znajdujące się tu dane. Przykładowo, jeżeli zamierzasz stworzyć witrynę wykorzystującą kodowanie ''Unicode'', musisz odnaleźć tu zbiór np. ''utf8_polish_ci''.
* '''Atrybuty''' - dodatkowe atrybuty, np. dla liczb można wybrać atrybut ''UNSIGNED'', co spowoduje, że będzie można przechowywać tu tylko liczy dodatnie, ale za to w dwukrotnie większym dozwolonym zakresie (przestrzeń zwolniona po wywaleniu części ujemnej).
* '''Null''' - czy pole może przyjmować wartości ''NULL''.
* '''Domyślne''' - domyślna wartość tego pola w nowych rekordach.
* '''Dodatkowo''' - dla pola ID możemy tu wybrać atrybut ''AUTO_INCREMENT''.
Kolejne cztery pola wyboru pozwalają zdefiniować rodzaj indeksu. Od lewej strony mamy:
* ''PRIMARY KEY'' - ustawić dla pola ID.
* ''INDEX'' - normalny indeks.
* ''UNIQUE'' - pole z unikalnymi wartościami (nie mogą się powtarzać w dwóch rekordach)
* ''---'' - brak indeksu.
Pole pod ikonką "T" umożliwia stworzenie indeksu ''FULLTEXT'' ułatwiającego przeszukiwanie zawartości tekstów. Można go utworzyć tylko w tabelach ''MyISAM'', a ponadto aby mieć z niego jakiś pożytek, trzeba umieć pisać odpowiednie zapytania wykorzystujące tzw. "fulltext searching".
 
'''Uwaga:''' zaznaczenie dla kilku pól pozycji ''INDEX'' nie spowoduje utworzenia kilku indeksów, tylko jeden indeks łączony! Dlatego jeśli zamierzasz stworzyć więcej indeksów, musisz to zrobić z pomocą dodatkowego edytora już po utworzeniu tabeli. Włączamy go w widoku tabeli w pozycji "Indeksy". Widoczny jest tam formularz zatytułowany "Utwórz indeks dla X kolumn". Po wybraniu liczby kolumn w indeksie, przejdziemy do szczegółowego widoku, gdzie możemy wybrać:
* Nazwę indeksu
* Jego rodzaj
* Określić pola mające wejść w jego skład.
 
Dalszą część formularza można zignorować. Pamiętajmy też o określeniu globalnego kodowania dla całej tabeli oraz wybraniu typu (domyślny w MySQL-u to mający większe możliwości ''InnoDB'', ale na co dzień korzysta się głównie z wydajniejszego ''MyISAM'').
 
=== Modyfikacja tabeli ===
Istnieje możliwość modyfikacji struktury tabeli już po jej utworzeniu. Typowe operacje to:
* Dodawanie nowych pól: pod listą pól w widoku struktury tabeli znajduje się niewielki formularz, w którym określamy, ile kolumn chcemy dodać oraz w którym miejscu. Po kliknięciu na "Wykonaj" zostaniemy przeniesieni do identycznego edytora, jak w przypadku tworzenia tabeli.
* Modyfikacja już istniejących pól. Klikamy na ikonę ołówka przy interesującym nas polu lub zaznaczamy grupę pól i klikamy na ołówek pod spisem. Modyfikacja odbywa się w identycznym edytorze, jak w przypadku tworzenia tabeli.
* Usuwanie pól - za pomocą ikonki krzyżyka. Wcześniej musimy potwierdzić naszą chęć.
 
=== Zarządzanie rekordami ===
[[grafika:Php-pma-przegladaj.png|thumb|400px|right|Lista zawartości tabeli]]
[[grafika:Php-pma-dodaj.png|thumb|400px|right|Dodawanie nowego rekordu]]
 
W zakładce ''Przeglądaj'' możemy obejrzeć zawartość aktualnej tabeli. Na ekranie ukaże się lista wszystkich rekordów wraz z wartościami wszystkich pól. Jest ona porcjowana: naraz pokazywane jest tylko 30, a do następnych stron przełączamy się za pomocą strzałek. Ikonki przy każdym rekordzie umożliwiają edycję danych lub jego usunięcie. Analogiczna przeglądarka ukaże nam się, gdy za pomocą zakładki ''SQL'' wykonamy zapytanie ''SELECT'' lub inne generujące jakąś listę wyników.
 
Zarówno edycja, jak i dodawanie nowego rekordu odbywa się w specjalnym edytorze pokazanym na screenie. Formularz składa się z pięciu kolumn:
* '''Pole''' - nazwa pola
* '''Typ''' - informacja o typie możliwych do przechowania danych
* '''Funkcja''' - z tej listy możemy wybrać funkcję, przez jaką zostanie przepuszczona wartość wpisana w polu "Wartość". Uwaga: niektóre funkcje nie wymagają podawania żadnego dodatkowego parametru w tamtym polu (np. ''UNIX_TIMESTAMP()'' będący odpowiednikiem ''time()'' w PHP).
* '''Null''' - jeśli pole zezwala, możemy tutaj zaznaczyć, że wstawiamy wartość ''NULL''.
* '''Wartość''' - dokładna wartość, jaką chcemy wstawić w wybrane pole.
 
Formularz dodawania umożliwia tworzenie do dwóch rekordów naraz. Uważaj, gdyż w przypadku tabel o dużej liczbie pól, phpMyAdmin wstawia co kilkanaście pasek z przyciskiem ''Wykonaj'', jednak nie korzystaj z niego, lecz z przycisku znajdującego się pod całym formularzem. Inaczej zaakceptujesz tylko część wprowadzonych wartości, co może doprowadzić do nieprzewidywalnych zachowań.
 
Jeśli chcemy dodawać rekordy seryjnie, możemy z listy pod formularzem przy napisie "a następnie" wybrać "dodaj nowy rekord" zamiast "wróć". Spowoduje to, że po dodaniu rekordów z powrotem zostaniemy przeniesieni do formularza dodawania.
 
=== Import i eksport zawartości ===
[[grafika:Php-pma-eksport.png|thumb|400px|right|Ekran eksportu zawartości]]
 
phpMyAdmin jest szczególnie lubiany przez programistów, gdyż najczęściej to za jego pomocą bazy danych przenoszone są z lokalnego komputera na właściwy serwer WWW. Służy do tego zakładka ''Eksport''. Aby prawidłowo wyeksportować zawartość bazy danych, musimy wpierw spędzić chwilkę na konfiguracji:
# W ramce "Eksport" wybieramy interesujące nas tabele. Jeżeli eksportujemy całą bazę, możemy kliknąć na "Zaznacz wszystkie".
# Wybieramy format. Domyślnie phpMyAdmin zaproponuje eksport do pliku SQL, który jest niczym innym, jak listą zapytań ''CREATE TABLE'' oraz ''INSERT'', które po uruchomieniu odtworzą dokładną kopię naszej bazy.
# W ramce "Opcje eksportu" zaznaczamy, co chcemy eksportować: samą strukturę, same dane, czy obie rzeczy naraz.
# Dodatkowo, phpMyAdmin umożliwia zachowanie kompatybilności ze starszymi wersjami bazy danych, a nawet innych serwerów DB! Jeśli stworzyłeś na MySQL 5.0 bazę danych, ale na serwerze jest MySQL 4.0, skorzystaj z listy "Kompatybilność eksportu SQL", a aplikacja wygeneruje zapytania dla wybranej przez Ciebie wersji serwera. Podobnie możesz postąpić, jeśli chcesz przenieść swoją bazę np. na PostgreSQL (dodajmy, że ten serwer DB także posiada swój "webowy" menedżer zwany oczywiście phpPgAdmin).
# Jeśli nie mamy ochoty, aby naszym monitorem zawładnęły zapytania SQL, zaznaczamy jeszcze opcję "Zapisz jako plik", co spowoduje, że generowany wynik będziemy mogli od razu ściągnąć na nasz komputer, zamiast wyświetlać jego zawartość w przeglądarce.
# Klikamy przycisk "Wykonaj".
 
Importowanie bazy danych odbywa się za pomocą zakładki ''Import''. Wskazujemy w niej plik SQL na naszym dysku ze strukturą bazy, wybieramy kodowanie i klikamy "Wykonaj". Pamiętaj, że PHP ma limit wykonywania ograniczony do 30 sekund. Jeśli twój plik SQL ma naprawdę potężne rozmiary, będziesz mógł kontynuować później jego wgrywanie od wybranego zapytania (ramka "Import częściowy"). W starszych wersjach phpMyAdmina import odbywał się za pomocą zakładki ''SQL'', ale według niemal identycznej procedury.
 
=== Zakończenie ===
Od tej pory wszystkie bazy danych i tabele będziemy tworzyć już z użyciem phpMyAdmina. Dzięki temu narzędziu praca z bazami jest naprawdę przyjemna, i co ważniejsze, wygodna. phpMyAdmin stał się tak popularny, że na polu menedżerów dla bazy MySQL w zasadzie nie ma żadnej konkurencji, a twórcy menedżerów dla innych serwerów DB bardzo mocno się na nim wzorują (podobna nawigacja, układ menusów, formularze itd.):
* ''phpPgAdmin'' - menedżer dla baz PostgreSQL.
* ''SQLiteManager'' - menedżer dla baz SQLite.
 
Od tej pory wszystkie bazy danych i tabele będziemy tworzyć już z użyciem phpMyAdmina. Dzięki temu narzędziu praca z bazami jest naprawdę przyjemna, i co ważniejsze, wygodna. W następnym rozdziale sprawdzimy nasze umiejętności w praktyce, tworząc system newsów oparty o MySQL.