KWALIFIKACJA INF3 - TEST WIEDZY NR 4

PYTANIE NR 33.
Załóżmy, że zarządzasz bazą danych sklepu internetowego. Otrzymałeś informację, że w jednym z rekordów w tabeli Produkty jest błąd. Które polecenie SQL powinieneś użyć, aby zaktualizować błędny rekord?
UPDATE Produkty SET Cena = 99.99 WHERE ProduktID = 101;
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Polecenie UPDATE służy do modyfikacji istniejących rekordów w tabeli, a klauzula WHERE ogranicza zmianę do wskazanego wiersza (np. ProduktID = 101). INSERT dodaje nowe rekordy, DELETE usuwa, a SELECT tylko odczytuje dane.

Pełne wyjaśnienie:

W relacyjnych bazach danych (typowych dla aplikacji webowych) podstawowe operacje na danych opisuje się skrótem CRUD:

  • Create – tworzenie danych (najczęściej INSERT)
  • Read – odczyt danych (SELECT)
  • Update – aktualizacja istniejących danych (UPDATE)
  • Delete – usuwanie danych (DELETE)

Jeżeli w tabeli Produkty znajduje się błędny rekord (np. zła cena), a celem jest jego poprawienie bez tworzenia nowego wiersza, właściwą komendą jest UPDATE. Typowa składnia ma postać: UPDATE [tabela] SET [kolumna]=[wartość] WHERE [warunek]. Kluczowe jest tu użycie WHERE, ponieważ pozwala zmienić tylko konkretny rekord (np. produkt o danym identyfikatorze), zamiast przypadkowo zaktualizować wszystkie wiersze w tabeli.

Odpowiedź "DELETE" jest niepoprawna, bo usuwa rekord, a nie go naprawia. To może prowadzić do utraty danych i naruszenia spójności (np. zamówienia odwołujące się do usuniętego produktu). Odpowiedź "INSERT" też jest błędna, ponieważ wstawiłaby nowy rekord, zostawiając w bazie również rekord wadliwy (duplikaty produktów, niezgodności stanów). Odpowiedź "SELECT" służy wyłącznie do odczytu informacji – pozwoliłaby znaleźć błędny wiersz, ale nie wprowadziłaby korekty.

W praktyce egzaminacyjnej warto zapamiętać: gdy pytanie mówi o "zmianie wartości w istniejącym rekordzie" i pojawia się warunek identyfikujący wiersz, prawie zawsze chodzi o UPDATE z WHERE.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
UPDATE to polecenie SQL służące do zmiany wartości w już istniejących rekordach tabeli. Najczęściej używa się go z SET (co zmienić) oraz WHERE (które wiersze zmienić), aby uniknąć przypadkowej masowej aktualizacji danych.
Klauzula WHERE zawęża aktualizację do wierszy spełniających warunek (np. konkretny identyfikator). Bez WHERE aktualizacja obejmie wszystkie rekordy tabeli, co jest jednym z najczęstszych i najgroźniejszych błędów w praktyce bazodanowej.
SELECT służy do odczytu danych, a nie ich modyfikacji. Możesz go użyć, aby znaleźć błędny rekord i sprawdzić bieżące wartości, ale do wprowadzenia zmiany potrzebujesz polecenia modyfikującego, najczęściej UPDATE.
INSERT stosuje się wtedy, gdy dodajesz nowy rekord, którego wcześniej w tabeli nie było (np. nowy produkt w sklepie). Gdy rekord istnieje i tylko wymaga korekty (np. cena, opis), właściwe jest UPDATE, nie INSERT.
Zwykle nie. DELETE usuwa rekord, więc "naprawa" oznaczałaby utratę danych. Usuwanie bywa uzasadnione tylko wtedy, gdy rekord ma zniknąć (np. błędnie wprowadzony produkt), ale w typowym scenariuszu korekty danych używa się UPDATE.
Najbezpieczniej: (1) wykonaj SELECT z tym samym warunkiem WHERE, aby upewnić się, że wskazujesz właściwy wiersz; (2) dopiero potem wykonaj UPDATE z identycznym WHERE. W systemach z transakcjami warto pracować w transakcji.
Najczęstsze pomyłki to: brak WHERE (aktualizacja całej tabeli), mylenie UPDATE z INSERT, błędne nazwy kolumn lub tabel oraz użycie złego warunku (np. literówka w identyfikatorze). Warto czytać uważnie, czy rekord już istnieje.
SET wskazuje, które kolumny mają zostać zmienione i na jakie wartości. Można aktualizować jedną kolumnę (np. cena) albo kilka naraz (np. cena i stan magazynowy). Każda przypisana wartość w SET dotyczy rekordów wybranych przez WHERE.
Szukaj sformułowań typu: "zaktualizować", "zmienić wartość", "poprawić istniejący rekord", "ustawić nową cenę". Jeśli rekord ma zostać zmodyfikowany, a nie dodany lub usunięty, zwykle poprawną odpowiedzią jest UPDATE (często z warunkiem WHERE).
Do podstaw należą: SELECT (odczyt), INSERT (dodawanie), DELETE (usuwanie). W praktyce administracji bazą i aplikacjami webowymi przydają się też pojęcia transakcji, kluczy głównych i obcych oraz ograniczeń spójności, bo wpływają na poprawność modyfikacji danych.
info

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

Według specjalistów z branży: "Polecenie UPDATE służy do modyfikacji istniejących rekordów w tabeli, a klauzula WHERE ogranicza zmianę do wskazanego wiersza (np. ProduktID = 101)."

Źródła:

  • PostgreSQL Documentation: "UPDATE" (SQL Command), https://www.postgresql.org/docs/current/sql-update.html - accessed 2026-02-28
  • MySQL 8.0 Reference Manual: "UPDATE Statement", https://dev.mysql.com/doc/refman/8.0/en/update.html - accessed 2026-02-28
  • Microsoft Learn: "UPDATE (Transact-SQL)", https://learn.microsoft.com/en-us/sql/t-sql/queries/update-transact-sql - accessed 2026-02-28

Materiały:

  • Dokumentacja wybranego systemu DBMS (np. MySQL/SQL Server/PostgreSQL) – sekcja dotycząca UPDATE
  • Materiały o CRUD i podstawach SQL (kursy/lekcje dla INF.3)
  • Ćwiczenia praktyczne: tworzenie tabeli produktów i wykonywanie SELECT/INSERT/UPDATE/DELETE na danych testowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego