KWALIFIKACJA INF3 - TEST WIEDZY NR 3

PYTANIE NR 24.
Jakie polecenie SQL służy do usunięcia wszystkich rekordów z tabeli, nie usuwając samej tabeli?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Polecenie TRUNCATE służy do szybkiego usunięcia wszystkich wierszy z tabeli, pozostawiając samą tabelę (jej strukturę) w bazie danych. DROP usuwa obiekt tabeli, DELETE usuwa wiersze (zwykle z warunkiem), a REMOVE nie jest standardowym poleceniem SQL.

Pełne wyjaśnienie:

Pytanie dotyczy polecenia SQL, które usuwa wszystkie rekordy z tabeli, ale nie usuwa samej tabeli (czyli jej definicji: kolumn, typów danych, ograniczeń itp.). W praktyce najczęściej używa się do tego polecenia TRUNCATE (często spotkasz też pełną składnię w postaci TRUNCATE TABLE).

Dlaczego "TRUNCATE" pasuje do treści pytania? Ponieważ jego celem jest opróżnienie tabeli z danych w całości. Tabela nadal istnieje, więc aplikacja internetowa może dalej wykonywać zapytania do tej tabeli, a programista nie musi odtwarzać struktury.

  • "DROP" jest błędne, bo dotyczy usuwania obiektów bazy (np. tabeli). Po wykonaniu DROP tabela przestaje istnieć, więc zapytania typu SELECT/INSERT do niej zakończą się błędem.
  • "DELETE" bywa mylące: potrafi usunąć wszystkie rekordy, jeśli nie podasz warunku, ale jest to inny typ operacji i w wielu systemach ma inne właściwości oraz typowy sposób użycia (częściej usuwa się nim wybrane wiersze przez WHERE). W pytaniu chodzi o polecenie kojarzone z opróżnieniem tabeli jako całości.
  • "REMOVE" jest błędne, ponieważ nie jest standardowym poleceniem SQL w typowych systemach baz danych.

Wskazówka egzaminacyjna: gdy w treści widzisz "usuń wszystkie rekordy, ale nie usuwaj tabeli", najpierw porównaj trzy pojęcia: DELETE (wiersze), TRUNCATE (opróżnienie tabeli), DROP (usunięcie obiektu). To rozróżnienie jest często sprawdzane w zadaniach dla administrowania bazami danych w aplikacjach webowych.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
TRUNCATE opróżnia tabelę ze wszystkich wierszy, pozostawiając jej strukturę (kolumny, typy danych). Używa się go, gdy chcesz szybko "wyczyścić" tabelę przed ponownym zasileniem danymi, bez kasowania samego obiektu tabeli.
DELETE usuwa wiersze jako operację na danych i zwykle łączy się z warunkiem WHERE (np. usuwanie części rekordów). TRUNCATE służy do opróżnienia tabeli w całości. W zadaniach egzaminacyjnych to rozróżnienie jest kluczowe.
DROP dotyczy usuwania obiektów bazy danych, np. tabeli jako struktury. Po wykonaniu DROP tabela przestaje istnieć, więc nie spełnia warunku "nie usuwając samej tabeli". To typowa pułapka w pytaniach wielokrotnego wyboru.
Nie. TRUNCATE usuwa dane (wiersze), ale nie usuwa definicji tabeli. Kolumny, typy danych i sama tabela pozostają. Dzięki temu aplikacja webowa nadal może wykonywać zapytania do tabeli, tylko że tabela jest pusta.
DELETE wybierasz, gdy chcesz usunąć tylko część rekordów (np. stare logi: WHERE data < ...), albo gdy zadanie wymaga precyzyjnego filtrowania. TRUNCATE jest typowe dla sytuacji "usuń wszystko" bez warunków.
W typowych bazach danych używanych na potrzeby aplikacji internetowych REMOVE nie jest standardowym poleceniem SQL do usuwania wierszy z tabeli. Na egzaminie takie odpowiedzi często pełnią rolę dystraktora, który ma sprawdzić znajomość prawdziwych komend.
Szukaj sformułowań: "usuń wszystkie rekordy", "wyczyść tabelę", "bez usuwania tabeli/struktury". To wskazuje na opróżnienie tabeli jako całości. Gdy pojawia się "usuń tabelę", wtedy właściwsze jest DROP.
Tak, do usuwania tabeli jako obiektu używa się DROP (np. DROP TABLE ...). To inny cel niż usuwanie rekordów. W kontekście administrowania bazami danych w aplikacjach webowych trzeba umieć odróżnić usuwanie danych od usuwania struktury.
Najczęściej myli się DROP z "usunięciem danych" oraz zakłada, że DELETE zawsze oznacza "usuń wszystko". Drugi błąd to brak rozróżnienia, czy pytanie dotyczy danych (wierszy), czy obiektu (tabeli). Czytaj uważnie warunek "nie usuwając tabeli".
Stwórz prostą tabelę testową, wstaw kilka rekordów i porównaj skutki użycia DELETE bez WHERE oraz TRUNCATE. Potem sprawdź, co dzieje się po DROP TABLE. Takie praktyczne ćwiczenie pomaga zapamiętać różnice i ogranicza pomyłki na teście.
info

To pytanie poprawnie rozwiązuje 68% zdających egzamin. średnie

Specjaliści zwracają uwagę: "Polecenie TRUNCATE służy do szybkiego usunięcia wszystkich wierszy z tabeli, pozostawiając samą tabelę (jej strukturę) w bazie danych."

Źródła:

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

Materiały:

  • Dokumentacja wybranego DBMS (np. PostgreSQL/MySQL/SQL Server) dla poleceń TRUNCATE/DELETE/DROP
  • Kurs podstaw SQL obejmujący podział na DDL i DML
  • Ćwiczenia praktyczne: porównanie skutków TRUNCATE vs DELETE na tabeli testowej

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego