Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: ALTER TABLE w SQL DDL w SQL DOUBLE w SQL NOT NULL w SQL

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.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.