Polecenie ALTER TABLE należy do DDL, czyli służy do zmiany schematu bazy danych (definicji tabel), a nie do modyfikowania wierszy. W przedstawionej kwerendzie użyto składni typowej dla MySQL/MariaDB: ALTER TABLE artykuly MODIFY cena float;
Najważniejsze jest słowo MODIFY. Oznacza ono zmianę definicji już istniejącej kolumny: można w ten sposób zmienić typ danych, a czasem także inne atrybuty (np. domyślną wartość lub dopuszczalność NULL – zależnie od DBMS). Dlatego poprawne rozumienie polecenia to: zmiana typu kolumny cena na FLOAT.
Dlaczego pozostałe odpowiedzi są błędne?
- Usunięcie kolumny wymagałoby użycia składni typu DROP COLUMN. Samo MODIFY nie usuwa kolumny – modyfikuje ją.
- Zmiana nazwy kolumny to inna operacja (np. RENAME COLUMN lub składnia specyficzna dla DBMS). W tym zapytaniu po nazwie kolumny występuje typ, więc nie jest to renaming.
- Dodanie kolumny realizuje się przez ADD COLUMN. Polecenie MODIFY zakłada istnienie kolumny, którą da się zmienić.
W praktyce taka zmiana typu bywa elementem migracji schematu w aplikacji webowej (np. przy przebudowie sposobu przechowywania ceny). Trzeba pamiętać, że typy zmiennoprzecinkowe mogą wprowadzać zaokrąglenia, więc dobór typu powinien wynikać z wymagań dotyczących precyzji.