ALTER TABLE nazwa1 CHANGE nazwa2 nazwa3 DOUBLE; W wyniku wykonania przedstawionego zapytania w bazie MySQL w tabeli nazwa1 zostanie
ALTER TABLE nazwa1 CHANGE nazwa2 nazwa3 DOUBLE;W wyniku wykonania przedstawionego zapytania w bazie MySQL w tabeli nazwa1 zostanie
A. skopiowana zawartość kolumny nazwa2 do nowej kolumny nazwa3.
Źle. Kopiowanie danych wymaga UPDATE; CHANGE przemianowuje kolumnę z jej danymi.
B. zmieniona nazwa kolumny nazwa2 na nazwa3, z typem zmiennoprzecinkowym.
Dobrze. CHANGE zmienia nazwę kolumny nazwa2 na nazwa3 i nadaje jej typ DOUBLE.
C. zmieniona nazwa tabeli nazwa1 na nazwa3.
Źle. Nazwę tabeli zmienia RENAME TABLE lub ALTER TABLE ... RENAME TO.
D. dodana kolumna nazwa3 obok kolumny nazwa2.
Źle. Nową kolumnę dodaje ADD, a CHANGE przemianowuje istniejącą.
Zapytanie zmieni nazwę kolumny nazwa2 na nazwa3 i nada jej typ
DOUBLE. Klauzula CHANGE w MySQL przyjmuje starą nazwę kolumny, nową nazwę i pełną definicję typu, więc jednym poleceniem zmienia nazwę i typ naraz. Dane w kolumnie zostają zachowane i w razie potrzeby przekonwertowane na nowy typ. Do zapamiętania trzy klauzule: CHANGE zmienia nazwę i typ, MODIFY tylko typ, a RENAME COLUMN stara TO nowa (od MySQL 8.0) tylko nazwę. Przy CHANGE typ trzeba podać zawsze, nawet gdy się nie zmienia - bez niego serwer zgłosi błąd składni. Zmiana typu może skrócić lub zaokrąglić dane, więc przed nią warto zrobić kopię tabeli.Każda z błędnych odpowiedzi zakłada inną operację niż ta, którą wykonuje
CHANGE. Nową kolumnę dodaje klauzula ADD, a tu stara kolumna nazwa2 nie zostaje obok nowej, tylko sama zmienia nazwę. Zmiana nazwy tabeli to RENAME TABLE nazwa1 TO nazwa3 albo ALTER TABLE nazwa1 RENAME TO nazwa3; w zapytaniu z pytania nazwa tabeli zostaje bez zmian. Kopiowanie danych między kolumnami wymagałoby najpierw dodania kolumny, a potem polecenia UPDATE nazwa1 SET nazwa3 = nazwa2. CHANGE działa w miejscu: ta sama kolumna z tymi samymi danymi dostaje nową nazwę nazwa3 i typ DOUBLE. Zapis CHANGE stara nowa typ warto odróżniać od MODIFY kolumna typ, w którym podaje się tylko jedną nazwę. W innych systemach baz danych, na przykład PostgreSQL, klauzuli CHANGE nie ma - nazwę zmienia tam RENAME COLUMN, a typ ALTER COLUMN ... TYPE.