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

Przedstawione zapytanie MySQL ma za zadanie

ALTER TABLE ksiazki ADD rok_wydania YEAR;
A. usunąć kolumnę rok_wydania z tabeli ksiazki
B. zmienić nazwę tabeli ksiazki na rok_wydania
C. zmienić typ istniejącej kolumny rok_wydania na YEAR
D. dodać kolumnę rok_wydania typu YEAR do tabeli ksiazki
Instrukcja ALTER TABLE ksiazki ADD rok_wydania YEAR; służy do modyfikacji struktury istniejącej tabeli, czyli jest poleceniem z grupy DDL, Data Definition Language. W tym przypadku tabela nazywa się ksiazki, a fragment ADD rok_wydania YEAR oznacza dodanie nowej kolumny o nazwie rok_wydania i typie danych YEAR. W praktyce taka kolumna może przechowywać rok publikacji książki, np. 1998 albo 2020, bez zapisywania pełnej daty z dniem i miesiącem. Moim zdaniem to całkiem sensowny wybór typu, jeżeli naprawdę interesuje nas tylko rok, a nie dokładna data wydania. W dobrych praktykach warto jednak przed wykonaniem ALTER TABLE sprawdzić, czy kolumna już nie istnieje, bo wtedy MySQL zwróci błąd. Przy większych bazach robi się to zwykle przez migracje, kopię zapasową i test na środowisku deweloperskim, ponieważ zmiana struktury tabeli może wpłynąć na aplikację, formularze, raporty oraz zapytania SELECT, INSERT i UPDATE.
W tym zapytaniu kluczowe jest rozróżnienie kilku poleceń SQL, które początkującym często się mieszają, bo wszystkie dotyczą struktury tabeli. ALTER TABLE oznacza, że zmieniamy definicję istniejącej tabeli, ale dopiero dalsza część polecenia mówi, jaka to będzie zmiana. Słowo ADD w MySQL nie usuwa danych ani kolumny, tylko dodaje nowy element do schematu tabeli. Gdyby celem było usunięcie kolumny rok_wydania, należałoby użyć składni w rodzaju ALTER TABLE ksiazki DROP COLUMN rok_wydania;. To jest zupełnie inna operacja i przy okazji bardziej ryzykowna, bo usuwa również dane zapisane w tej kolumnie. Zmiana nazwy tabeli też nie wynika z użycia ADD. Do tego stosuje się RENAME TABLE albo ALTER TABLE ... RENAME TO, zależnie od przyjętej składni i wersji bazy. W zapytaniu rok_wydania nie jest nową nazwą tabeli, tylko nazwą dodawanej kolumny. Nie chodzi też o zmianę typu istniejącej kolumny. Do modyfikacji typu danych służy zwykle MODIFY albo CHANGE, np. ALTER TABLE ksiazki MODIFY rok_wydania YEAR;. Typowy błąd myślowy polega tutaj na zauważeniu typu YEAR i założeniu, że skoro typ jest podany, to musi chodzić o zmianę typu. A w definicji nowej kolumny też zawsze podaje się jej typ. Całe polecenie należy więc czytać po kolei: zmień tabelę ksiazki, dodaj kolumnę rok_wydania, ustaw jej typ na YEAR.

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.