Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

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

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

idnazwiskoimiedata_urubezpieczony
✏️ Edytuj📋 Kopiuj⛔ Usuń1KowalskiJan2005-12-181
✏️ Edytuj📋 Kopiuj⛔ Usuń2NowakAdam2005-10-101
✏️ Edytuj📋 Kopiuj⛔ Usuń3WisniewskiAntoni2005-06-140
✏️ Edytuj📋 Kopiuj⛔ Usuń4LipskaAnna2006-04-121
✏️ Edytuj📋 Kopiuj⛔ Usuń5TomaszewskiPawel2006-07-110
✏️ Edytuj📋 Kopiuj⛔ Usuń6KostarzJulia2006-03-201
✏️ Edytuj📋 Kopiuj⛔ Usuń7BorewiczPatryk2007-06-211
✏️ Edytuj📋 Kopiuj⛔ Usuń8KoperskiBartlomiej2001-09-100
Które zapytanie w języku MySQL usunie z tabeli uczniowie uczniów urodzonych w czerwcu?

Poprawnie wskazane zapytanie korzysta z instrukcji DELETE oraz operatora LIKE z odpowiednim wzorcem: "%-06-%". W kolumnie data_ur mamy daty zapisane w standardowym formacie ISO: RRRR-MM-DD, np. 2005-06-14. W takim formacie miesiąc zawsze znajduje się na pozycjach 6–7 i jest zapisany jako dwucyfrowa liczba z wiodącym zerem. Wzorzec "%-06-%" oznacza: dowolny ciąg znaków przed, dokładnie „-06-” w środku, oraz dowolny ciąg znaków po. Dzięki temu trafiamy w wszystkie daty, gdzie miesiąc to 06, czyli czerwiec, niezależnie od roku i dnia. To jest bardzo praktyczne podejście, gdy przechowujemy datę w typie DATE i chcemy filtrować po miesiącu bez dodatkowych funkcji. W MySQL operator LIKE działa na wartościach tekstowych, ale typ DATE jest w takim kontekście automatycznie konwertowany do postaci tekstowej w formacie 'YYYY-MM-DD', więc wzorzec z myślnikami jest jak najbardziej poprawny. W realnych projektach częściej stosuje się funkcje DATE_FORMAT albo MONTH(data_ur) = 6, bo to jest czytelniejsze i mniej podatne na pomyłki w zapisie wzorca. Jednak w tym zadaniu celem jest zrozumienie, jak działa LIKE, wildcard „%” oraz jak wygląda rzeczywisty format przechowywania daty. Dobrą praktyką jest też zawsze używanie pojedynczych cudzysłowów w SQL (np. '%-06-%'), choć MySQL akceptuje też podwójne w pewnych konfiguracjach. Moim zdaniem warto zapamiętać ten sposób myślenia: patrzysz na rzeczywisty zapis danych w kolumnie i dopasowujesz wzorzec tak, żeby trafić dokładnie ten fragment, który Cię interesuje (tu: '-06-').
W tym zadaniu kluczowe jest zrozumienie trzech rzeczy: poprawnej składni SQL, sposobu zapisu daty w bazie oraz działania operatora LIKE. Jeśli któryś z tych elementów „siądzie”, to całe zapytanie przestaje mieć sens. Nie można na przykład używać słowa kluczowego DROP zamiast DELETE. DROP służy do usuwania całych obiektów bazodanowych, takich jak tabele czy bazy danych (np. DROP TABLE uczniowie;), a nie pojedynczych rekordów. Użycie DROP z klauzulą WHERE jest po prostu niepoprawne składniowo i w MySQL takie zapytanie się nie wykona. To jest dość typowy błąd: pomylenie operacji na strukturze bazy danych z operacjami na danych. Druga sprawa to porównywanie daty. W SQL nie stosujemy operatora „==”, to nie jest JavaScript ani C++. Standardowy operator porównania to pojedynczy znak równości „=”. Dodatkowo zapis typu #-06-# nie ma żadnego sensu w MySQL, wygląda raczej jak składnia z innych środowisk (np. Access). MySQL oczekuje albo literalnej wartości daty w formacie 'YYYY-MM-DD', albo użycia funkcji, albo poprawnego wzorca tekstowego. Kolejny częsty błąd to używanie LIKE z nieprawidłowym wzorcem. W MySQL wildcardami są „%” (dowolny ciąg znaków, także pusty) oraz „_” (dokładnie jeden dowolny znak). Znaki „?” nie pełnią roli symbolu zastępczego w standardowym SQL, więc wzorzec "?-06-?" po prostu nie zadziała tak, jak ktoś mógłby się spodziewać. Trzeba też pamiętać, że data jest zapisana w formacie 'RRRR-MM-DD', więc dopasowanie po samym „06” bez myślników jest ryzykowne – mogłoby trafić w inne fragmenty ciągu, a nie w sam miesiąc. Z mojego doświadczenia wynika, że najlepszym nawykiem jest zawsze myślenie: jaki dokładnie ciąg znaków stoi w kolumnie i jakim wzorcem LIKE mogę go jednoznacznie złapać, zamiast zgadywać składnię czy mieszać składnie z różnych technologii.

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. Wyślemy 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.