W budowie
Zapis, edycja i usuwanie rekordów z formularza (INSERT, UPDATE, DELETE)

Część 14 · SQL: modyfikacja danych (INSERT, UPDATE, DELETE) — kurs PHP INF.03

Część 14 kursu PHP pod kątem INF.03: operacje modyfikacji danych w bazie (DML). Wstawianie rekordów z formularzy (INSERT), aktualizacja (UPDATE), usuwanie (DELETE) oraz badanie liczby zmienionych wierszy.

  • 45 min
  • 16 slajdów
  • Notatki nauczyciela: N
  • Strona modułu: otwórz
Plan · 45 min

Co dziś robimy

  1. 12 minDodawanie danych INSERT Wartości tekstowe i daty bierzemy w apostrofy, liczby bez.
  2. 12 minZmiana danych UPDATE Brak WHERE to klasyczny błąd: zmieni się wtedy każdy wiersz w tabeli.
  3. 12 minUsuwanie danych DELETE Struktura tabeli zostaje — znikają tylko dane.
  4. 4 minĆwiczenia 16 zadań w module — wybierz 3–4 na lekcję
  5. 5 minPodsumowanie bilet wyjściowy i zadanie domowe
Atom 1 z 4 · ~12 min

Dodawanie danych INSERT

INSERT INTO dodaje nowy wiersz. Podajemy nazwy kolumn i wartości w tej samej kolejności — wtedy nie zależy nam na fizycznej kolejności kolumn w tabeli.

  • Wartości tekstowe i daty bierzemy w apostrofy, liczby bez.
  • Kolumnę id z AUTO_INCREMENT pomijamy, bo baza nada numer sama.
  • Można dodać kilka wierszy jednym poleceniem, podając kolejne zestawy wartości po przecinku.
  • Jest to szybsze niż wiele osobnych zapytań.
Kod · atom 1 · ~3 min

Jak to wygląda w kodzie

INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Ola', '3TI', 18);

INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Jan', '3TI', 12), ('Ewa', '3TI', 20);
Przykład na żywo · atom 1 · ~3 min

Uruchom i pokaż

INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Ola', '3TI', 18);

INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Jan', '3TI', 12), ('Ewa', '3TI', 20);
Sprawdzenie · atom 1 · ~2 min

Pytanie do klasy

Co dodaje INSERT INTO?

Atom 2 z 4 · ~12 min

Zmiana danych UPDATE

UPDATE zmienia istniejące wiersze. Po słowie SET podajemy kolumnę i nową wartość, a po WHERE wskazujemy, których wierszy zmiana dotyczy.

  • Brak WHERE to klasyczny błąd: zmieni się wtedy każdy wiersz w tabeli.
  • Dlatego przed uruchomieniem warto sprawdzić warunek zapytaniem SELECT .
  • Można zmieniać kilka kolumn naraz, oddzielając przypisania przecinkami.
  • Wartość można też wyliczyć, np.
Kod · atom 2 · ~3 min

Jak to wygląda w kodzie

UPDATE uczniowie
SET punkty = punkty + 5
WHERE klasa = '3TI';

UPDATE uczniowie
SET imie = 'Aleksandra', klasa = '4TI'
WHERE id = 7;
Przykład na żywo · atom 2 · ~3 min

Uruchom i pokaż

UPDATE uczniowie
SET punkty = punkty + 5
WHERE klasa = '3TI';

UPDATE uczniowie
SET imie = 'Aleksandra', klasa = '4TI'
WHERE id = 7;
Sprawdzenie · atom 2 · ~2 min

Pytanie do klasy

Co się stanie bez WHERE w UPDATE?

Atom 3 z 4 · ~12 min

Usuwanie danych DELETE

DELETE FROM usuwa wiersze wskazane warunkiem WHERE . Podobnie jak w UPDATE , brak warunku opróżnia całą tabelę.

  • Struktura tabeli zostaje — znikają tylko dane.
  • Jeśli chcesz usunąć tabelę razem z danymi, użyj DROP TABLE .
  • W aplikacji rzadko usuwamy dane bezpowrotnie.
  • Częściej dodajemy kolumnę aktywny i ustawiamy ją na 0 — to tak zwane miękkie usuwanie, które pozwala odzyskać rekord.
Kod · atom 3 · ~3 min

Jak to wygląda w kodzie

DELETE FROM uczniowie
WHERE punkty = 0;

DELETE FROM uczniowie
WHERE klasa = '1TI' AND punkty < 5;
Przykład na żywo · atom 3 · ~3 min

Uruchom i pokaż

DELETE FROM uczniowie
WHERE punkty = 0;

DELETE FROM uczniowie
WHERE klasa = '1TI' AND punkty < 5;
Sprawdzenie · atom 3 · ~2 min

Pytanie do klasy

Co usuwa DELETE FROM?

Zamknięcie · ~3 min

Co zabrać z lekcji

  • Wartości tekstowe i daty bierzemy w apostrofy, liczby bez.
  • Brak WHERE to klasyczny błąd: zmieni się wtedy każdy wiersz w tabeli.
  • Struktura tabeli zostaje — znikają tylko dane.
  • Ćwiczenia
Bilet wyjściowy: Na czym polega miękkie usuwanie?
Odpowiedź: a) Na fladze aktywny
Hyżyk· Część 14 · SQL: modyfikacja danych (INSERT, UPDATE, DELETE) moduł 1 / 1