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.
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.
INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Ola', '3TI', 18);
INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Jan', '3TI', 12), ('Ewa', '3TI', 20);
INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Ola', '3TI', 18);
INSERT INTO uczniowie (imie, klasa, punkty)
VALUES ('Jan', '3TI', 12), ('Ewa', '3TI', 20);
Co dodaje INSERT INTO?
Poprawna: b) INSERT dopisuje rekordy do tabeli.
UPDATE zmienia istniejące wiersze. Po słowie SET podajemy kolumnę i nową wartość, a po WHERE wskazujemy, których wierszy zmiana dotyczy.
UPDATE uczniowie
SET punkty = punkty + 5
WHERE klasa = '3TI';
UPDATE uczniowie
SET imie = 'Aleksandra', klasa = '4TI'
WHERE id = 7;
UPDATE uczniowie
SET punkty = punkty + 5
WHERE klasa = '3TI';
UPDATE uczniowie
SET imie = 'Aleksandra', klasa = '4TI'
WHERE id = 7;
Co się stanie bez WHERE w UPDATE?
Poprawna: d) Brak warunku oznacza zmianę całej tabeli.
DELETE FROM usuwa wiersze wskazane warunkiem WHERE . Podobnie jak w UPDATE , brak warunku opróżnia całą tabelę.
DELETE FROM uczniowie
WHERE punkty = 0;
DELETE FROM uczniowie
WHERE klasa = '1TI' AND punkty < 5;
DELETE FROM uczniowie
WHERE punkty = 0;
DELETE FROM uczniowie
WHERE klasa = '1TI' AND punkty < 5;
Co usuwa DELETE FROM?
Poprawna: c) DELETE kasuje rekordy, struktura zostaje.