KWALIFIKACJA INF3 - TEST WIEDZY NR 2

PYTANIE NR 28.
Które z poniższych poleceń SQL służy do usuwania rekordów z tabeli?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
DELETE to polecenie SQL służące do usuwania wierszy (rekordów) z tabeli, opcjonalnie z użyciem warunku WHERE. DROP usuwa obiekt (np. tabelę), a TRUNCATE opróżnia całą tabelę. REMOVE nie jest standardową komendą SQL.

Pełne wyjaśnienie:

W SQL polecenie DELETE służy do usuwania danych z tabeli, czyli do kasowania wierszy (rekordów). Typowy zapis pozwala usuwać wybrane rekordy przez podanie warunku, np. z klauzulą WHERE. Dzięki temu można skasować tylko te wiersze, które spełniają kryteria (np. konta oznaczone jako nieaktywne).

Polecenie TRUNCATE również usuwa dane z tabeli, ale w innym sensie: jest to operacja "opróżnienia" tabeli (usunięcia wszystkich wierszy naraz). W praktyce administracyjnej bywa traktowane jako szybki sposób na wyczyszczenie tabeli, lecz nie jest to usuwanie rekordów w sposób selektywny (z warunkiem), tylko kasowanie całej zawartości.

Polecenie DROP nie usuwa rekordów, tylko usuwa sam obiekt bazy danych (np. tabelę). Po wykonaniu DROP TABLE tabela przestaje istnieć, więc nie jest to narzędzie do "czyszczenia rekordów", lecz do zmiany/likwidacji struktury.

Odpowiedź REMOVE jest błędna, ponieważ nie jest standardowym poleceniem SQL do usuwania rekordów; może wynikać z potocznego skojarzenia z "remove" w języku angielskim lub z innych technologii, ale nie jest właściwą komendą SQL.

W kontekście egzaminu warto zapamiętać prostą regułę: DELETE usuwa wiersze, TRUNCATE opróżnia tabelę, a DROP usuwa tabelę (lub inny obiekt).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Polecenie DELETE usuwa wiersze (rekordy) z tabeli. Najczęściej używa się go z WHERE, aby skasować tylko wybrane dane, np. rekordy spełniające warunek. Bez WHERE usuwa wszystkie wiersze z tabeli.
Użyj DELETE z warunkiem WHERE, który jednoznacznie wskazuje rekord (np. po kluczu głównym). Kluczowe jest poprawne kryterium w WHERE, aby nie usunąć większej liczby wierszy niż planowano.
DROP usuwa obiekt bazy danych (np. tabelę, widok), a nie dane wierszami. Po DROP TABLE nie ma już tabeli, więc nie jest to metoda "kasowania rekordów", tylko usuwania całej struktury.
TRUNCATE służy do szybkiego opróżnienia tabeli, czyli usunięcia wszystkich wierszy naraz. W odróżnieniu od DELETE nie służy do selektywnego kasowania rekordów z warunkiem (typowo nie używa się tu WHERE).
Tak. DELETE bez klauzuli WHERE usuwa wszystkie wiersze z tabeli. Na egzaminie to częsty "hak" – brak warunku oznacza brak ograniczenia. Dobrą praktyką jest zawsze sprawdzić warunek przed wykonaniem zapytania.
DELETE usuwa wiersze i może działać warunkowo (z WHERE), a TRUNCATE opróżnia całą tabelę. W praktyce TRUNCATE jest używany do czyszczenia tabeli w całości, a DELETE do usuwania konkretnych rekordów.
W standardowym SQL polecenie REMOVE nie jest typową instrukcją do usuwania rekordów. Na egzaminach bywa podawane jako dystraktor, bo brzmi intuicyjnie. W SQL do usuwania wierszy służy przede wszystkim DELETE.
Najczęściej przy operacjach CRUD: usuwanie kont, wpisów, komentarzy, zamówień testowych itp. Backend aplikacji wykonuje wtedy zapytanie DELETE z warunkiem WHERE (np. po identyfikatorze), aby skasować wskazany rekord.
Najważniejsze jest poprawne WHERE oraz wcześniejsze sprawdzenie, które rekordy zostaną objęte operacją (np. wykonując najpierw SELECT z tym samym warunkiem). W praktyce stosuje się też transakcje i kopie zapasowe.
Opanuj podstawowe polecenia DML/DDL: SELECT, INSERT, UPDATE, DELETE, a także różnicę między DROP i TRUNCATE. Ćwicz na prostych tabelach i analizuj, co dzieje się z danymi oraz strukturą.
info

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

W praktyce zawodowej kluczowe jest to, że dELETE to polecenie SQL służące do usuwania wierszy (rekordów) z tabeli, opcjonalnie z użyciem warunku WHERE.

Źródła:

  • PostgreSQL Documentation (current): SQL Commands – DELETE, https://www.postgresql.org/docs/current/sql-delete.html (dostęp: 2026-02-27)
  • MySQL 8.0 Reference Manual: DELETE Statement, https://dev.mysql.com/doc/refman/8.0/en/delete.html (dostęp: 2026-02-27)
  • Microsoft Learn: DELETE (Transact-SQL), https://learn.microsoft.com/en-us/sql/t-sql/statements/delete-transact-sql (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja PostgreSQL: polecenie DELETE
  • Dokumentacja MySQL: instrukcja DELETE i TRUNCATE TABLE
  • Dokumentacja Microsoft SQL Server: DELETE (Transact-SQL) oraz TRUNCATE TABLE

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego