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 MODIFY w MySQL

ALTER TABLE ksiazki RENAME COLUMN tytul TO nazwa; Przedstawione polecenie MySQL ma za zadanie

ALTER TABLE ksiazki RENAME COLUMN tytul TO nazwa;
Przedstawione polecenie MySQL ma za zadanie
A. usunąć kolumnę tytul z tabeli ksiazki.
B. dodać do tabeli ksiazki kolumnę nazwa.
C. zmienić nazwę kolumny tytul na nazwa w tabeli ksiazki.
D. zmienić typ kolumny tytul w tabeli ksiazki.
Polecenie ALTER TABLE ksiazki RENAME COLUMN tytul TO nazwa służy do zmiany nazwy istniejącej kolumny w tabeli. W tym przypadku tabela nazywa się ksiazki, stara nazwa kolumny to tytul, a nowa nazwa to nazwa. Sama zawartość rekordów nie powinna zostać usunięta ani przeliczona; zmienia się przede wszystkim definicja struktury tabeli, czyli metadane schematu bazy danych. To jest typowa operacja DDL, czyli Data Definition Language, używana przy modyfikowaniu struktury bazy. W praktyce takie polecenie stosuje się np. wtedy, gdy nazwa kolumny była nieprecyzyjna albo trzeba ujednolicić nazewnictwo w projekcie. Moim zdaniem warto tu pamiętać o dobrej praktyce: przed zmianą nazwy kolumny sprawdza się zapytania SQL, widoki, procedury, formularze PHP albo kod aplikacji, który odwołuje się do starej nazwy tytul. W MySQL składnia RENAME COLUMN jest dostępna w nowszych wersjach, np. MySQL 8.0, a w starszych często spotykało się ALTER TABLE z CHANGE, gdzie trzeba było podać także typ danych. Przy takich zmianach dobrze jest też robić migracje i kopię zapasową, bo niby operacja wygląda prosto, ale w większym systemie może popsuć raporty albo panel administracyjny.
To polecenie nie dodaje nowej kolumny, nie usuwa starej i nie zmienia jej typu danych. Kluczowe są tutaj słowa ALTER TABLE oraz RENAME COLUMN ... TO ..., które oznaczają modyfikację definicji tabeli przez zmianę nazwy wskazanej kolumny. Gdyby celem było dodanie pola nazwa do tabeli ksiazki, użyto by składni w rodzaju ALTER TABLE ksiazki ADD COLUMN nazwa ..., zwykle z podaniem typu, na przykład VARCHAR(255). Samo pojawienie się słowa COLUMN nie oznacza jeszcze dodawania kolumny, i to jest dość częsta pułapka na testach. Usuwanie kolumny wyglądałoby inaczej: używa się DROP COLUMN, a taka operacja jest dużo bardziej ryzykowna, bo może skasować dane przechowywane w tej kolumnie. Z kolei zmiana typu danych kolumny tytul wymagałaby polecenia MODIFY COLUMN albo w niektórych sytuacjach CHANGE COLUMN, z podaniem nowego typu, np. VARCHAR, TEXT, INT itd. W przedstawionej instrukcji nie ma żadnego typu danych, więc nie ma podstaw, żeby uznać, że chodzi o zmianę typu. Typowy błąd myślowy polega na czytaniu zapytania tylko po fragmencie: ktoś widzi nazwa i zakłada, że to nowa kolumna, albo widzi ALTER TABLE i myśli ogólnie o dowolnej zmianie struktury. W SQL trzeba jednak patrzeć na całe polecenie i konkretne słowa kluczowe. Z mojego doświadczenia najlepiej rozróżniać je tak: ADD dodaje, DROP usuwa, MODIFY zmienia definicję, a RENAME zmienia nazwę. Tutaj właśnie stara kolumna tytul zostaje przemianowana na nazwa, a dane w wierszach pozostają przypisane do tej samej kolumny, tylko pod nową nazwą.

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.