Ostatnio nauczyliśmy się tworzyć tabele – teraz przejdziemy do pobierania danych z tabeli. Najpierw jednak przygotujemy dwie tabele, z których będziemy pobierać dane.
Przygotowanie
Przygotowałem dwie tabele – projekty i zadania. Każdy projekt będzie miał swoją nazwę, opis i zadania. Wykonaj poniższy kod na swojej bazie MySQL:
create table projekty (
ID int primary key auto_increment,
tytul varchar(128),
opis varchar(255)
);
create table zadania (
ID int primary key auto_increment,
ID_projektu int,
opis varchar(255),
foreign key (ID_projektu) references projekty(ID)
);
insert into projekty (tytul,opis) values
('Bieganie','Codzienne bieganie'),
('Programowanie','Nauka programowania');
insert into zadania (ID_projektu, opis) values
(1,'Bieg 1km'),
(1,'Bieg 5km'),
(2,'Nauka MySQL'),
(2,'Nauka PHP 7');
Składnia SELECT
Dane będzie pobierać z tabeli wykorzystując składnię SELECT. Więcej informacji o tej składni znajdziesz w oficjalnej dokumentacji MySQL – kliknij tutaj.
Pobieranie wszystkiego z tabeli


Budowa – najpierw używamy słowa SELECT następnie określamy jakie pole mają być pobrane np. (tytul, opis), następnie używamy słowa FROM mówiące o tym skąd mają zostać pobrane dane, po nim podajemy tytuł tabeli z której mają zostać pobrane dane.
Wyświetlenie samych opisów z tabeli projekty:

Oczywiście używaliśmy najprostszej składni. Ogólna schemat budowy znajdziemy w dokumentacji lub np. używając polecenia help select.

WHERE – oznacza, że rekordy które spełniają podane przez nas warunki mają zostać pobrane np. pobranie nazw projektów tylko tych które zaczynają się na literę P:

Ogólna schemat budowy składni możemy określić następująco:

W tym kursie będą nam potrzebne tylko te 3 pierwsze elementy – select, from oraz where. Jeśli chcesz nauczyć się czegoś więcej – zajrzyj do świetnego artykułu z tej strony.
Pobieranie danych z więcej niż jednej tabeli
W tym celu musimy połączyć tabele w składni select. Połączymy teraz tabele projekty i zadania:

Teraz wyświetlimy zadania pasujące do projektu „Bieganie”:

Należy zwrócić uwagę, że gdy tabele będą miały pola o takich samych nazwach np. chcemy pobrać ID z projektów i ID z zadań – to musimy wskazać, że pobieramy dane z tych tabel. Stosujemy do tego zapis składający się z nazwy tabeli następnie używamy kropki a potem nazwę pola.
Błędny zapis:

Poprawny zapis:

Zauważ, że obie kolumny mają wyświetlają się z nazwą ID. Możemy to zmienić stosując przy wskazywaniu na pola które chcemy pobrać słówko as (jako).

To tyle jeśli chodzi o pobieranie danych – więcej nie będzie nam potrzebne do kursu PHP. W następnych częściach omówię jeszcze dodawanie rekordów oraz ich modyfikowanie i usuwanie.