Ćwiczenia SQL i PHP – Podstawy baz danych (INF.03)
1. Tworzenie tabel
Cel: Uczeń potrafi utworzyć tabele w systemie zarządzania bazą danych. Polecenie: Utwórz tabelę Klienci zawierającą pola: ID_Klienta, Imię, Nazwisko, Adres, Miasto, Kod_Pocztowy, Email i ustaw klucz główny dla ID_Klienta.
CREATE TABLE Klienci (
ID_Klienta INT AUTO_INCREMENT PRIMARY KEY,
Imie VARCHAR(50),
Nazwisko VARCHAR(50),
Adres VARCHAR(100),
Miasto VARCHAR(50),
Kod_Pocztowy VARCHAR(10),
Email VARCHAR(50)
);
<?php
$conn = new mysqli("localhost","root","haslo","firma");
$sql = "CREATE TABLE Klienci (
ID_Klienta INT AUTO_INCREMENT PRIMARY KEY,
Imie VARCHAR(50),
Nazwisko VARCHAR(50),
Adres VARCHAR(100),
Miasto VARCHAR(50),
Kod_Pocztowy VARCHAR(10),
Email VARCHAR(50)
)";
$conn->query($sql);
$conn->close();
echo "Utworzono tabelę Klienci.";
?>
Tabela Klienci utworzona w bazie danych.
2. Tworzenie formularzy do wprowadzania danych
Cel: Uczeń potrafi zaprojektować formularze do dodawania i modyfikowania rekordów. Polecenie: Utwórz formularz do wprowadzania danych o klientach z polami: Imię, Nazwisko, Email, Miasto i przyciskiem Zapisz.
Cel: Poznanie typów kwerend i ich zastosowania. Polecenie: Utwórz kwerendę wybierającą wszystkich klientów z miasta "Kraków".
SELECT * FROM Klienci WHERE Miasto='Kraków';
<?php
$conn = new mysqli("localhost","root","haslo","firma");
$sql = "SELECT * FROM Klienci WHERE Miasto='Kraków'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
echo $row['Imie']." ".$row['Nazwisko']." - ".$row['Miasto']."<br>";
}
$conn->close();
?>
Wyświetlono klientów z Krakowa.
4. Tworzenie zapytań do bazy danych
Cel: Tworzenie zapytań SQL do pobierania, modyfikowania i analizowania danych. Polecenie: Wyświetl średnią wartość zamówienia w tabeli Zamówienia.
SELECT AVG(Wartosc) AS SredniaZamowienia FROM Zamowienia;
<?php
$conn = new mysqli("localhost","root","haslo","firma");
$sql = "SELECT AVG(Wartosc) AS SredniaZamowienia FROM Zamowienia";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
echo "Średnia wartość zamówienia: ".$row['SredniaZamowienia'];
$conn->close();
?>
Średnia wartość zamówienia: 245,50
5. Tworzenie i formatowanie raportów
Cel: Przygotowanie raportów prezentujących dane w czytelny sposób. Polecenie: Utwórz raport pokazujący liczbę zamówień dla każdego klienta.
SELECT Klienci.Imie, Klienci.Nazwisko, COUNT(Zamowienia.ID_Zamowienia) AS LiczbaZamowien
FROM Klienci
LEFT JOIN Zamowienia ON Klienci.ID_Klienta = Zamowienia.ID_Klienta
GROUP BY Klienci.Imie, Klienci.Nazwisko;
<?php
$conn = new mysqli("localhost","root","haslo","firma");
$sql = "SELECT Klienci.Imie, Klienci.Nazwisko, COUNT(Zamowienia.ID_Zamowienia) AS LiczbaZamowien
FROM Klienci
LEFT JOIN Zamowienia ON Klienci.ID_Klienta = Zamowienia.ID_Klienta
GROUP BY Klienci.Imie, Klienci.Nazwisko";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
echo $row['Imie']." ".$row['Nazwisko']." - Zamówień: ".$row['LiczbaZamowien']."<br>";
}
$conn->close();
?>