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).