KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 21.
Aby usunąć wszystkie rekordy z tabeli należy zastosować kwerendę
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Polecenie TRUNCATE TABLE służy do usunięcia wszystkich wierszy (rekordów) z tabeli w bazie danych. Pozostałe opcje nie kasują rekordów: INSERT INTO dodaje dane, a polecenia z COLUMN odnoszą się do definicji i modyfikacji kolumn (struktury), nie do czyszczenia zawartości tabeli.

Pełne wyjaśnienie:

W języku SQL usunięcie wszystkich rekordów z tabeli realizuje się poleceniem TRUNCATE TABLE. Jest to operacja ukierunkowana na szybkie opróżnienie tabeli z danych (wierszy), bez zmiany definicji tabeli (kolumn, typów danych, ograniczeń).

Odpowiedź "TRUNCATE TABLE" jest poprawna, ponieważ jej skutkiem jest pozostawienie tabeli jako obiektu w schemacie, ale z pustą zawartością. W praktyce jest to często wykorzystywane w środowiskach testowych, przy czyszczeniu tabel tymczasowych lub przed ponownym załadowaniem danych.

Dlaczego pozostałe odpowiedzi są niepoprawne:

  • "ALTER COLUMN" dotyczy modyfikacji definicji kolumny (np. typu danych, długości, właściwości). To zmiana struktury, a nie usuwanie rekordów.
  • "CREATE COLUMN" nie jest typowym, poprawnym poleceniem SQL do tworzenia kolumn w istniejącej tabeli; tworzenie/modyfikacja kolumn odbywa się przez polecenia z rodziny CREATE TABLE lub ALTER TABLE (zależnie od silnika). W każdym razie nie służy do kasowania danych.
  • "INSERT INTO" ma działanie odwrotne do oczekiwanego: wstawia nowe rekordy do tabeli.

Warto też pamiętać o rozróżnieniu: rekord/wiersz to dane w tabeli, a kolumna to element definicji tabeli. Jeśli pytanie mówi o rekordach, szukasz polecenia wpływającego na wiersze, a nie na kolumny. Na egzaminie często pojawia się też alternatywa DELETE; w tym zestawie odpowiedzi jej nie ma, więc właściwym wyborem pozostaje TRUNCATE TABLE.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
TRUNCATE TABLE usuwa wszystkie wiersze z tabeli, pozostawiając jej strukturę (kolumny i definicję). Najczęściej służy do szybkiego "wyczyszczenia" tabeli przed testami lub ponownym zasileniem danymi. Szczegóły działania zależą od silnika bazy danych.
TRUNCATE jest zwykle używany do usunięcia wszystkich rekordów z tabeli naraz, a DELETE pozwala usuwać dane warunkowo (np. z klauzulą WHERE). Różnice obejmują też sposób logowania i zachowanie w transakcjach, co zależy od konkretnej bazy.
Nie. TRUNCATE TABLE usuwa dane (wiersze), ale nie usuwa definicji tabeli: kolumn, typów danych, indeksów czy ograniczeń. Tabela nadal istnieje w schemacie. Do usunięcia obiektu tabeli służą inne polecenia, np. DROP.
INSERT INTO służy do dodawania nowych wierszy do tabeli. To polecenie typu DML wykorzystywane przy zapisie danych, np. po wysłaniu formularza w aplikacji webowej. Jeśli pytanie dotyczy usunięcia rekordów, INSERT jest kierunkowo odwrotny.
Rekord (wiersz) to pojedynczy zestaw wartości w tabeli, np. jeden użytkownik w tabeli "users". Kolumny opisują atrybuty (np. email), a rekord jest konkretną instancją danych. Usuwanie rekordów dotyczy więc wierszy, a nie struktury tabeli.
Polecenia wpływające na strukturę to zwykle polecenia DDL, np. tworzenie lub modyfikacja tabel i kolumn. W praktyce spotyka się m.in. operacje związane z ALTER oraz CREATE/DROP dla obiektów. One zmieniają schemat, a nie "kasują rekordy" jako dane.
To zależy od silnika bazy danych i konfiguracji. W części systemów TRUNCATE zachowuje się inaczej niż typowe operacje DML i może mieć ograniczenia dotyczące cofania. Na egzaminie warto pamiętać ogólnie: TRUNCATE służy do szybkiego opróżnienia tabeli, ale szczegóły transakcyjne są zależne od DBMS.
Wybierz TRUNCATE TABLE, gdy pytanie mówi o usunięciu wszystkich rekordów z tabeli i w odpowiedziach nie ma innego polecenia kasującego wiersze w całości. Jeśli pojawia się też DELETE, sprawdź, czy pytanie wymaga warunku (WHERE) czy pełnego wyczyszczenia.
ALTER COLUMN odnosi się do zmiany definicji kolumny (np. typu lub właściwości), czyli do schematu tabeli. Rekordy to wiersze danych, a nie elementy definicji. To częsty błąd: widzisz "TABLE/COLUMN" i wybierasz odpowiedź bez rozróżnienia danych od struktury.
Najlepiej uruchomić lokalną bazę (np. w kontenerze) i ćwiczyć na prostej tabeli: dodawanie danych, usuwanie części wierszy i czyszczenie całości. Porównuj efekty po wykonaniu poleceń i zawsze sprawdzaj wynik zapytaniem SELECT. To utrwala różnice między poleceniami.
info

Około 64% zdających odpowiada poprawnie na to pytanie. średnie

Według specjalistów z branży: "Polecenie TRUNCATE TABLE służy do usunięcia wszystkich wierszy (rekordów) z tabeli w bazie danych."

Źródła:

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

Materiały:

  • Dokumentacja SQL wybranego silnika bazy danych (np. PostgreSQL/MySQL/SQL Server)
  • Ćwiczenia praktyczne z podstaw DDL/DML na przykładowej bazie
  • Notatki porównujące TRUNCATE i DELETE (skutki, uprawnienia, transakcje)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego