WPROWADZENIE DO MYSQL/MARIADB WIDZIA SQL

WPROWADZENIE DO MYSQL/MARIADB WIDZIA SQL

Widok bazy danych jest niczym innym jak wirtualną tabelą, która nie zawiera samych danych, ale odwołuje się do danych zawartych w innych tabelach. Widoki są w zasadzie wynikiem przechowywanych zapytań, które mogą się różnić pod względem złożoności i mogą być używane na przykład do ukrywania danych przed użytkownikami, umożliwiając dostęp tylko do wybranych kolumn tabeli lub po prostu zapewnienie innego punktu widzenia istniejących danych. W tym samouczku zobaczymy, jak tworzyć, aktualizować, zmieniać i upuszczać widok na bazę danych MySQL, MARIADB.

W tym samouczku nauczysz się:

  • Co to jest widok
  • Jak utworzyć widok
  • Jak zaktualizować widok
  • Jak zmienić widok
  • Jak upuścić widok


Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny od OS
Oprogramowanie Baza danych MySQL/Mariadb
Inny Podstawowe pojęcia mysql/mariadb i relacyjnych baz danych
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Tworzenie testowej bazy danych

Ze względu na ten samouczek utworzymy testową bazę danych o nazwie „Filmy”. Będzie zawierał dwie tabele: pierwszy będzie przechowywał dane o reżyserach, drugi będzie zawierał informacje o tytułach i zostanie powiązany z pierwszą za pośrednictwem Klucz obcy. Aby utworzyć naszą bazę danych, możemy wydać następujące polecenia z powłoki MySQL/Mariadb:



Mariadb [(brak)]> Utwórz filmy bazy danych; Mariadb [(brak)]> Użyj filmów; Baza danych zmieniła Mariadb [Filmy]> Utwórz reżyserka tabeli ( -> id ID bez znaku nie null auto_increment, -> nazwa pierwszej_nazwy varchar (20) not null, -> last_name varchar (20) nie null, -> data urodzenia nie null, -> pierwotne Klucz (id) ->); 
Kopiuj

Następnym krokiem jest włożenie niektórych wpisów w tabeli:

Mariadb [Movies]> Wstaw do reżysera (First_name, Last_name, Birth) Wartości-> („Stanley”, „Kubrik”, „1928-07-26”),-> („Jeffrey”, „Adams”, „1966-- 06-27 '),-> („Alfred”, „Hitchcock”, „1899-08-13”);
Kopiuj

Możemy teraz utworzyć tabelę „tytułu” i wstawić do niej kilka wpisów:

Mariadb [filmy]> Utwórz tytuł tabeli ( -> id Smallint Unsigned Not Null Auto_increment, -> Nazwa varchar (30) nie null, -> gatunek varchar (30) nie null, -> data releaszy nie null, -> reżyser_id smallint unsigned Nie null, -> klucz podstawowy (id), -> zagraniczny klucz (reżyser_id) referencje referencje (id) ->); Mariadb [Movies]> Wstaw do tytułu (nazwa, gatunek, wydanie_date, reżyser_id) Wartości -> („2001: A Space Odyssey”, „Science Fiction”, „1968-04-02”, 1), -> („The the the Force Awakens ”,„ Fantasy ”,„ 2015-12-14 ”, 2),-> („ Psyco ”,„ Horror ”,„ 1960-06-16 ”, 3); 
Kopiuj

Teraz, gdy mamy kilka tabel do pracy, możemy stworzyć pogląd.

Tworzenie widoku

Widok jest po prostu wirtualną tabelą, która pozwala nam uzyskać alternatywną „prospektywę” danych zawartych w prawdziwych tabelach. Możemy łatwo utworzyć widok, wybierając kolumny, które chcemy uwzględnić z istniejących tabel. Powiedz na przykład, że chcemy naszego pogląd Aby dołączyć kolumny „Nazwa” i „gatunek” z tabeli „Tytuł”, którą stworzyliśmy w naszej testowej bazie danych. Oto jak to tworzymy:

Mariadb [Movies]> Utwórz Wyświetl przykład jako wybrana nazwa, gatunek z tytułu;
Kopiuj

Z poleceniem Utwórz widok, Stworzyliśmy pogląd i nazwij to „przykładem”. Widok jest tworzony przy użyciu instrukcji AS, po której następuje zapytanie niezbędne do uzyskania danych, które chcemy uwzględnić. Treść widoku będzie wynikiem zapytania:

Mariadb [filmy]> Wybierz * z przykładu; +-----------------------+-----------------+| Nazwa | gatunek | +-----------------------+-----------------+| 2001: Space Odyssey | Science Fiction | |. Przebudzenie siły | Fantasy | |. Psyco | Horror | +-----------------------+-----------------+
Kopiuj

Możemy ograniczyć dane pobierane na widoku, tak jak zrobilibyśmy to w standardowej tabeli, na przykład:

Mariadb [filmy]> Wybierz * z przykładu, gdzie gatunka = „science fiction”; +-----------------------+-----------------+| Nazwa | gatunek | +-----------------------+-----------------+| 2001: Space Odyssey | Science Fiction | +-----------------------+-----------------+ 
Kopiuj

Dostarczanie określonych nazwisk dla kolumn widoku

Domyślnie nazwa kolumn utworzonych pogląd będzie odpowiadać nazwie kolumn zawartych w WYBIERAĆ instrukcja używana do jego utworzenia. W przypadku, gdy chcemy określić alternatywne nazwy, musimy je podać w nawiasach. Liczba nazw musi pasować do liczby wybranych kolumn. Oto przykład:

Mariadb [Movies]> Utwórz Widok przykład (nazwa_ponatu, film_genre) Jako wybrana nazwa, gatunek z tytułu; Mariadb [filmy]> Wybierz * z przykładu; +-----------------------+-----------------+| nazwa_ponatu | film_genre | +-----------------------+-----------------+| 2001: Space Odyssey | Science Fiction | |. Przebudzenie siły | Fantasy | |. Psyco | Horror | +-----------------------+-----------------+ 
Kopiuj

Widok można utworzyć za pomocą złożonych zapytań i może obejmować wartości wynikające z funkcji. Oto przykład widoku stworzonego przez dołączenie do tabel „tytuł” ​​i „reżyser” oraz za pomocą Concat funkcjonować:

Mariadb [Movies]> Utwórz Wyświetl przykład (nazwa_ponatu, film_genre, film_director) As -> Select -> Tytuł.Nazwa ->, tytuł.gatunek ->, conat (reżyser.First_name, „”, reżyser.Last_name) -> From -> Tytuł -> Dołącz do dyrektora w tytule.reżyser_id = reżyser.ID; 
Kopiuj

Oto pełna zawartość wynikającego z tego widoku:

Mariadb [filmy]> Wybierz * z przykładu; +-----------------------+-----------------+------- -----------+ | nazwa_ponatu | film_genre | film_director | +-----------------------+-----------------+------- -----------+ | 2001: Space Odyssey | Science Fiction | Stanley Kubrik | |. Przebudzenie siły | Fantasy | Jeffrey Adams | |. Psyco | Horror | Alfred Hitchcock | +-----------------------+-----------------+------------------+
Kopiuj

Aktualizacja widoku

Jeśli zostaną spełnione pewne warunki szczegółowe, możliwe jest zaktualizowanie widoku: zmiany zostaną odzwierciedlone w podstawowych tabelach. Aby móc zaktualizować widok:



  • Widok musi być utworzony przez zapytanie o pojedynczą tabelę i musi mapować bezpośrednio do niej;
  • Widok nie może zawierać wartości zagregowanych wynikających z funkcji takich jak sum ();
  • Operacja na widoku musi odpowiadać operacji w jednym rzędzie oryginalnej tabeli;

Zobaczmy przykład. Załóżmy, że pracujemy nad widokiem, który stworzyliśmy wcześniej:

+-----------------------+-----------------+ |. nazwa_ponatu | film_genre | +-----------------------+-----------------+| 2001: Space Odyssey | Science Fiction | |. Przebudzenie siły | Fantasy | |. Psyco | Horror | +-----------------------+-----------------+
Kopiuj

Ponieważ widok szanuje wymagany, o którym wspomnialiśmy powyżej, jeśli aktualizujemy gatunek filmu „Psyco”, zmieniając go z „horroru” na „thriller”, zmiana zostanie odzwierciedlona w tabeli „tytuł”. Sprawdźmy to:

Mariadb [filmy]> aktualizacja przykład zestawu_genre = "thriller" gdzie film_name = "psyco";
Kopiuj

Jeśli teraz przesłuchamy podstawową tabelę „tytułu”, możemy sprawdzić, czy zmiana została zastosowana:

Mariadb [Movies]> Wybierz * z tytułu, gdzie nazwa = "psyco"; +----+-------+----------+--------------+---------- ---+ | Id | Nazwa | gatunek | Release_date | reżyser_id | +----+-------+----------+--------------+---------- ---+ | 3 | Psyco | thriller | 1960-06-16 | 3 | +----+-------+----------+--------------+-------------+
Kopiuj

Zmiana widoku

Aby zmienić definicję widoku, używamy Zmień widok Komenda. Za każdym razem, gdy chcemy zmienić strukturę widoku, musimy ponownie zapisać WYBIERAĆ instrukcja używana do jego utworzenia. Załóżmy, że chcemy dodać kolumnę „wydanie_date” z tabeli „Tytuł” ​​do naszego widoku: Nie możemy użyć polecenia tak Dodaj kolumnę, Musimy podać nowe zapytanie, które rozumie kolumnę, którą chcemy dodać:

Mariadb [Movies]> alter View Przykład (nazwa_ponatu, film_genre, film_release_date) jako nazwa wybrana, gatunek, wydanie_date z tytułu; Wybierz * z przykładu; +-----------------------+-----------------+------- -------------+ | nazwa_ponatu | film_genre | film_release_date | +-----------------------+-----------------+------- -------------+ | 2001: Space Odyssey | Science Fiction | 1968-04-02 | |. Przebudzenie siły | Fantasy | 2015-12-14 | |. Psyco | thriller | 1960-06-16 | +-----------------------+-----------------+--------------------+ 
Kopiuj

Upuszczanie widoku

Upuszczenie widoku jest bardzo łatwą operacją. Polecenie używane do wykonania zadania jest Widok upuszczenia. W takim przypadku, aby usunąć nasz „przykład” widoku:

Przykład widoku upuść;
Kopiuj

Zamykanie myśli

W tym artykule zobaczyliśmy, w jaki sposób możemy wykorzystać widoki MySQL/MariaDB, aby zebrać inny punkt widzenia danych zawartych w tabeli bazy danych. Widzieliśmy, jak stworzyć widok, jak zmienić jego strukturę, jak możemy go zaktualizować, jeśli zostaną spełnione niektóre wymagania i jak je upuścić. Jeśli jesteś zainteresowany innymi tematami MySQL/MariaDB, możesz spojrzeć na nasze artykuły na ten temat, na przykład te dotyczące zeznań lub dołączyć do oświadczeń.

Powiązane samouczki Linux:

  • Wprowadzenie do silników magazynowych MySQL
  • Jak zmienić hasło użytkownika mariadb
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Zainstaluj MySQL na Ubuntu 20.04 LTS Linux
  • Jak zainstalować MySQL na Almalinux
  • Jak utworzyć stos lampy na bazie Dockera za pomocą Dockera na…
  • Ubuntu 20.04 WordPress z instalacją Apache
  • Jak poprawnie grep do tekstu w skryptach bash
  • Instalacja Ampache Raspberry Pi
  • Ubuntu 20.04: WordPress z instalacją Nginx