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 INSERT INTO w SQL Indeks w SQL Typ integer

Które z poleceń umożliwia dodanie kolumny zadanie_kompletne do tabeli zadania?

A.
CREATE INDEX zadania ADD COLUMN zadanie_kompletne int
Źle. CREATE INDEX tworzy indeks na istniejących kolumnach i nie dodaje nowej kolumny.
B.
ADD COLUMN zadanie_kompletne WITH zadania
Źle. Samodzielne ADD COLUMN z WITH nie jest poprawnym poleceniem SQL.
C.
ALTER TABLE zadania ADD COLUMN zadanie_kompletne int
Dobrze. ALTER TABLE z klauzulą ADD COLUMN dopisuje do tabeli nową kolumnę o podanym typie.
D.
INSERT INTO zadania VALUES zadania_kompletne
Źle. INSERT INTO dodaje wiersze z danymi, a nie kolumny.

Pytanie z egzaminu CKE, czerwiec 2015 (arkusz E.14-X-15.05).

Poprawne jest polecenie ALTER TABLE zadania ADD COLUMN zadanie_kompletne int. ALTER TABLE zmienia strukturę istniejącej tabeli, a klauzula ADD COLUMN dopisuje nową kolumnę o podanej nazwie i typie - tu liczbowym int. Istniejące wiersze dostają w nowej kolumnie wartość NULL albo wartość domyślną, jeśli ją określono.

Do zapamiętania: ALTER TABLE obsługuje też DROP COLUMN (usunięcie kolumny), MODIFY lub CHANGE (zmiana typu albo nazwy) oraz dodawanie kluczy i indeksów. Słowo COLUMN w MySQL jest opcjonalne, więc ALTER TABLE zadania ADD zadanie_kompletne int; działa tak samo. Można też od razu ustawić wartość domyślną, np. DEFAULT 0.

Każde z błędnych poleceń myli strukturę tabeli z jej zawartością albo z innym obiektem bazy. CREATE INDEX tworzy indeks przyspieszający wyszukiwanie po istniejących kolumnach. Ma składnię CREATE INDEX nazwa ON tabela (kolumna) i nie potrafi dodać kolumny, więc połączenie go z ADD COLUMN to błąd składni.

INSERT INTO dopisuje nowe wiersze z danymi, a nie nowe kolumny - działa na zawartości tabeli, nie na jej budowie. Zapis ADD COLUMN ... WITH zadania nie istnieje w SQL: klauzula ADD występuje tylko jako część polecenia ALTER TABLE, a słowo WITH służy do czegoś zupełnie innego, np. do wyrażeń CTE. Dobra reguła: zmiana budowy tabeli (kolumny, klucze, typy) to zawsze ALTER TABLE, a zmiana danych to INSERT, UPDATE i DELETE.

W phpMyAdmin ta sama operacja kryje się pod przyciskiem dodawania kolumny w zakładce Struktura, a narzędzie i tak wysyła do serwera polecenie ALTER TABLE.

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.