KWALIFIKACJA INF3 - CZERWIEC 2023

PYTANIE NR 23.
Aby zmienić maksymalną długość pola imie w tabeli klienci na 30 znaków, należy użyć w języku SQL następującego kodu
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);

To polecenie (w składni MySQL/MariaDB) modyfikuje definicję istniejącej kolumny imie, ustawiając jej typ na VARCHAR o długości 30 znaków. Pozostałe propozycje używają niepoprawnych słów kluczowych lub zmieniają typ na inny (np. TEXT).

Pełne wyjaśnienie:

Polecenia DDL służą do zmiany struktury tabeli (schematu), a nie do edycji danych w wierszach. Gdy trzeba ustawić maksymalną długość pola tekstowego imie na 30 znaków, należy zmienić definicję kolumny na typ znakowy o zadanej długości.

Poprawne rozwiązanie to:

ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);

W dialekcie MySQL/MariaDB konstrukcja ALTER TABLE ... MODIFY COLUMN ... pozwala zmienić typ i atrybuty istniejącej kolumny. Ustawienie VARCHAR(30) oznacza, że kolumna przechowa łańcuchy o długości do 30 znaków (zgodnie z definicją typu w danym DBMS).

Dlaczego pozostałe odpowiedzi są błędne?

  • CHANGE TABLE ... nie jest standardowym poleceniem SQL do zmiany schematu; to błąd składniowy (pomylenie nazwy komendy).
  • Formy typu TO COLUMN czy SET CHAR(30) nie odpowiadają poprawnej składni modyfikacji kolumn w popularnych DBMS; wyglądają "podobnie", ale nie zadziałają.
  • ALTER TABLE ... CHANGE imie TEXT (bez pełnej definicji kolumny i z innym typem) nie realizuje celu "VARCHAR(30)"; dodatkowo w MySQL przy CHANGE zwykle podaje się także nazwę kolumny po zmianie i pełną definicję.

Wskazówka egzaminacyjna: w zadaniach o SQL zawsze zwracaj uwagę, dla jakiego DBMS jest składnia. To, co działa w MySQL/MariaDB, w PostgreSQL może wymagać innej konstrukcji (np. zmiany typu przez osobną klauzulę dla kolumny).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
ALTER TABLE służy do zmiany struktury istniejącej tabeli, np. dodania kolumny, zmiany typu kolumny, ustawienia wartości domyślnej lub dodania ograniczeń. Nie zmienia bezpośrednio danych w rekordach, tylko definicję tabeli (DDL).
W MySQL najczęściej używa się składni ALTER TABLE ... MODIFY COLUMN, np. MODIFY COLUMN imie VARCHAR(30). To aktualizuje definicję kolumny, dzięki czemu aplikacja i baza mają spójne ograniczenia długości.
VARCHAR przechowuje tekst o zmiennej długości do limitu, a CHAR ma stałą długość i może być dopełniany spacjami. W praktyce dla imion/nazwisk zwykle wybiera się VARCHAR, bo wpisy mają różną liczbę znaków.
Nie. Składnia MODIFY COLUMN jest typowa dla MySQL/MariaDB. Inne systemy (np. PostgreSQL) mogą wymagać innej formy, np. ALTER TABLE ... ALTER COLUMN ... TYPE. Na egzaminie trzeba znać składnię właściwą dla wskazanego środowiska.
Najczęstsze pomyłki to: użycie nieistniejących słów kluczowych (np. "CHANGE TABLE"), pomylenie MODIFY z CHANGE i brak pełnej definicji kolumny, a także zmiana na niewłaściwy typ (np. TEXT zamiast VARCHAR z limitem).
To ograniczenie wynikające z typu danych kolumny. Dla VARCHAR(30) oznacza, że pojedyncza wartość w tej kolumnie nie powinna przekraczać 30 znaków. Dzięki temu baza wymusza ograniczenia niezależnie od aplikacji.
TEXT stosuje się, gdy treść może być długa i nie chcesz narzucać małego limitu (np. opisy, komentarze). Dla pól typu "imie" zwykle wystarcza VARCHAR z konkretną długością, bo to pole jest krótkie i ma przewidywalny rozmiar.
Zależy od DBMS. W MySQL/MariaDB używa się zwykle DESCRIBE klienci lub SHOW COLUMNS FROM klienci. W innych systemach robi się to przez zapytania do katalogu systemowego lub polecenia narzędzia klienckiego.
Tak, jeśli nowy typ lub długość jest bardziej ograniczająca. Przy skróceniu VARCHAR istnieje ryzyko obcięcia wartości lub błędu podczas modyfikacji (zależnie od ustawień DBMS). Dlatego przed ALTER TABLE warto zweryfikować dane i zrobić kopię.
Ćwicz DDL i DML na prawdziwej bazie: tworzenie tabel, modyfikacje kolumn, klucze i ograniczenia oraz podstawowe SELECT/INSERT/UPDATE/DELETE. Ucz się składni dla konkretnego DBMS używanego na egzaminie i rozwiązuj krótkie zadania "jedna komenda = jeden efekt".
info

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

Specjaliści zwracają uwagę: "ALTER TABLE klienci MODIFY COLUMN imie VARCHAR(30);To polecenie (w składni MySQL/MariaDB) modyfikuje definicję istniejącej kolumny imie, ustawiając jej typ na VARCHAR o długości 30 znaków."

Źródła:

  • MySQL 8.0 Reference Manual – ALTER TABLE Syntax (MODIFY COLUMN), https://dev.mysql.com/doc/refman/8.0/en/alter-table.html - dostęp 2026-03-01
  • MariaDB Documentation – ALTER TABLE (MODIFY/CHANGE), https://mariadb.com/kb/en/alter-table/ - dostęp 2026-03-01
  • PostgreSQL Documentation – ALTER TABLE (ALTER COLUMN TYPE), https://www.postgresql.org/docs/current/sql-altertable.html - dostęp 2026-03-01

Materiały:

  • Dokumentacja DBMS używanego na zajęciach (sekcja ALTER TABLE)
  • Ćwiczenia z DDL: tworzenie i modyfikowanie tabel w przykładowej bazie
  • Zestawienie różnic składniowych MySQL/MariaDB vs PostgreSQL dla ALTER TABLE

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego