KWALIFIKACJA INF3 - TEST WIEDZY NR 2

PYTANIE NR 27.
Załóż, że masz do czynienia z bazą danych MySQL i chcesz zaktualizować wartość w jednym z rekordów. Jaki fragment kodu prawidłowo zaktualizuje wartość kolumny 'nazwa' na 'Nowa nazwa' dla rekordu o id=5 w tabeli 'produkty'?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
UPDATE służy do modyfikacji danych w istniejących rekordach. Składnia UPDATE tabela SET kolumna=wartość WHERE warunek pozwala wskazać, który wiersz zmienić. Warunek WHERE id=5 ogranicza aktualizację do rekordu o identyfikatorze 5, a SET nazwa='Nowa nazwa' ustawia nową wartość pola.

Pełne wyjaśnienie:

W MySQL do zmiany wartości w już istniejącym rekordzie używa się instrukcji UPDATE. Jest to polecenie z grupy DML (Data Manipulation Language), czyli służące do operacji na danych (CRUD: create/insert, read/select, update, delete).

Poprawna składnia ma kluczowe elementy:

  • UPDATE produkty – wskazuje tabelę, w której modyfikujemy dane.
  • SET nazwa='Nowa nazwa' – określa, które kolumny i na jakie wartości mają zostać ustawione. Można podać więcej par kolumna=wartość, rozdzielając je przecinkami.
  • WHERE id=5 – warunek wyboru rekordów do aktualizacji. To krytyczna część w praktyce administracji bazą: bez WHERE aktualizacja obejmie wszystkie wiersze tabeli.

Dlaczego pozostałe propozycje są błędne? Polecenia typu ALTER, CHANGE i MODIFY kojarzą się ze "zmianą", ale w MySQL dotyczą przede wszystkim zmian struktury tabeli (DDL), np. definicji kolumn, typów danych czy nazw kolumn, i nie mają składni "SET ... WHERE ..." dla aktualizacji wartości w rekordach. W efekcie nie spełniają celu zadania, którym jest zmiana danych w jednym, wskazanym wierszu.

Wskazówka egzaminacyjna: gdy w treści jest "zaktualizować wartość w rekordzie" i pojawia się warunek identyfikujący wiersz (np. id), niemal zawsze chodzi o UPDATE ... SET ... WHERE .... Zwracaj uwagę na WHERE – to najczęstszy punkt krytyczny w zadaniach i w pracy praktycznej.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Instrukcja UPDATE zmienia dane w istniejących wierszach tabeli. Używa się jej, gdy rekord już istnieje, ale trzeba poprawić wartość w kolumnie (np. nazwę produktu). Zwykle łączy się ją z SET (co zmienić) i WHERE (które rekordy).
Najczęstszy wzorzec to: UPDATE tabela SET kolumna='wartość' WHERE warunek.
Przykład: UPDATE produkty SET nazwa='Nowa nazwa' WHERE id=5; Warunek w WHERE decyduje, czy aktualizujesz jeden wiersz, czy wiele.
WHERE ogranicza liczbę modyfikowanych rekordów. Bez WHERE MySQL zaktualizuje wszystkie wiersze tabeli, co w aplikacji webowej może oznaczać poważny błąd w danych. Na egzaminie brak WHERE zwykle oznacza odpowiedź niepoprawną, gdy wymagany jest pojedynczy rekord.
Tak. W części SET podajesz wiele przypisań rozdzielonych przecinkami, np. SET nazwa='X', cena=10.00. To częsta praktyka w panelach administracyjnych, gdy edycja formularza zmienia kilka pól naraz w jednym rekordzie.
Po wykonaniu UPDATE klient bazy (np. konsola, IDE) zwykle pokazuje liczbę zmienionych wierszy (affected rows). W aplikacji można też odczytać tę informację z biblioteki dostępu do bazy. To pomaga wykryć, czy warunek WHERE był zbyt szeroki lub zbyt wąski.
Instrukcja UPDATE wykona się poprawnie składniowo, ale nie zmieni żadnego wiersza (0 affected rows), bo warunek WHERE nie dopasuje rekordu. W praktyce aplikacji warto to obsłużyć, np. komunikatem "nie znaleziono rekordu" lub wcześniejszym SELECT.
ALTER TABLE dotyczy struktury tabeli (DDL), np. dodania kolumny, zmiany typu danych, indeksów lub nazwy kolumny. Nie aktualizuje on danych w poszczególnych rekordach. Do zmiany wartości w wierszach służą polecenia DML, przede wszystkim UPDATE.
Dobra praktyka to najpierw wykonać SELECT z tym samym warunkiem WHERE, aby zobaczyć, które rekordy zostaną objęte zmianą. Dodatkowo w środowisku produkcyjnym stosuje się kopie zapasowe i transakcje (gdy to możliwe), by móc wycofać błędną modyfikację.
Średnik jest standardowym separatorem poleceń w wielu narzędziach (np. konsola MySQL, phpMyAdmin) i zwykle jest wymagany, gdy wpisujesz wiele poleceń. W niektórych bibliotekach aplikacyjnych wysyła się pojedyncze zapytanie bez średnika, ale na egzaminie najczęściej zapis ze średnikiem jest akceptowany.
Najczęstsze pomyłki to: brak WHERE (aktualizacja wszystkich rekordów), użycie złego polecenia (np. ALTER zamiast UPDATE), literówki w nazwie tabeli/kolumny oraz błędne cudzysłowy przy wartościach tekstowych. Warto też pamiętać o poprawnym dopasowaniu warunku do typu danych.
info

Około 75% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Specjaliści zwracają uwagę: "UPDATE służy do modyfikacji danych w istniejących rekordach."

Źródła:

  • MySQL 8.0 Reference Manual: UPDATE Statement (https://dev.mysql.com/doc/refman/8.0/en/update.html) - accessed 2026-03-02
  • MySQL 8.0 Reference Manual: ALTER TABLE Statement (https://dev.mysql.com/doc/refman/8.0/en/alter-table.html) - accessed 2026-03-02
  • MySQL 8.0 Reference Manual: Data Manipulation Statements (https://dev.mysql.com/doc/refman/8.0/en/sql-data-manipulation-statements.html) - accessed 2026-03-02

Materiały:

  • Dokumentacja MySQL: opis instrukcji UPDATE
  • Ćwiczenia z SQL (CRUD) na przykładowej bazie (produkty, klienci, zamówienia)
  • Materiały o różnicy między DDL i DML w SQL

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego