MySQL Views: How to Create View from Tables
โก Rezumat inteligent
MySQL Views are virtual tables that store no data of their own and instead present the result of a stored SELECT query. This resource explains how to create, query, join, and drop views, with runnable examples from the myflixdb database.

รn ce sunt Views MySQL?
vEDERI sunt tabele virtuale care nu stocheazฤ date proprii, ci afiศeazฤ date stocate รฎn alte tabele. Cu alte cuvinte, VIEWS nu sunt altceva decรขt interogฤri SQL. O vizualizare poate conศine toate sau cรขteva rรขnduri dintr-un tabel. A MySQL vizualizarea poate afiศa date dintr-un tabel sau mai multe tabele.
MySQL Sintaxa vizualizฤrilor
Sฤ ne uitฤm acum la sintaxa de bazฤ folositฤ pentru a crea o vizualizare รฎn MySQL.
CREATE VIEW `view_name` AS SELECT statement;
UNDE
- โCREATE VIEW `view_name`โ spune MySQL server pentru a crea un obiect de vizualizare รฎn baza de date numit `view_name`
- โInstrucศiunea AS SELECTโ sunt instrucศiunile SQL care trebuie รฎmpachetate รฎn MySQL Vizualizฤri. Poate fi o instrucศiune SELECT care poate conศine date dintr-un tabel sau mai multe tabele.
De ce sฤ folosiศi vizualizฤrile?
Before building one, it helps to know what a view actually buys you.
Poate doriศi sฤ utilizaศi vizualizฤrile รฎn principal din urmฤtoarele 3 motive
- Ultimately, you will use your SQL knowledge, to create applications, which will use a database for data requirements. Itโs recommended that you use VIEWS of the original table structure in your application instead of using the tables themselves. This ensures that when you refactor your DB, your legacy code will see the original schema via the view without breaking the application.
- VIEWS mฤresc reutilizarea. Nu va trebui sฤ creaศi interogฤri complexe care implicฤ รฎmbinฤri รฎn mod repetat. Toatฤ complexitatea este convertitฤ รฎntr-o singurฤ linie de interogare folosind VIEWS. Un astfel de cod condensat va fi mai uศor de integrat รฎn aplicaศia dvs. Acest lucru va elimina ศansele de greศeli de scriere ศi codul dvs. va fi mai lizibil.
- VIEWS ajutฤ la securitatea datelor. Puteศi utiliza vizualizฤrile pentru a afiศa numai informaศii autorizate utilizatorilor ศi pentru a ascunde datele sensibile, cum ar fi numerele cฤrศilor de credit.
Cum se creeazฤ vizualizฤri รฎn MySQL
With the syntax and the benefits established, the steps below build a working view end to end.
Urmฤtorul este un proces pas cu pas pentru a crea vizualizarea รฎn MySQL:
Pas 1) Creaศi prima noastrฤ vizualizare folosind โmyflixdbโ
Acum sฤ creฤm prima noastrฤ vizualizare folosind โmyflixdbโ, vom crea o vizualizare simplฤ care restricศioneazฤ coloanele vฤzute รฎn tabelul de membri.
Suppose authorization requirements state that the accounts department can only see memberโs number, name and gender from the memberโs table. To achieve this you can create a VIEW โ
CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;
Pas 2) Extinderea nodului de vizualizฤri
Executarea scriptului de mai sus รฎn MySQL workbench รฎmpotriva myflixdb ศi extinderea nodului de vizualizฤri รฎn exploratorul bazei de date ne oferฤ urmฤtoarele rezultate.
Reศineศi cฤ obiectul accounts_v_members este acum vizibil รฎn obiectele vizualizฤrilor bazei de date.
Pas 3) Executaศi o instrucศiune SELECT
Sฤ executฤm acum a instrucศiunea SELECT care selecteazฤ toate cรขmpurile din vizualizare, aศa cum se aratฤ รฎn mai jos MySQL crearea unui exemplu de vizualizare.
SELECT * FROM `accounts_v_members`;
Pas 4) Executaศi un script
Executarea scriptului de mai sus รฎn MySQL Workbench รฎmpotriva myflixdb ne oferฤ urmฤtoarele rezultate prezentate mai jos.
| membership_number | full_names | gender |
|---|---|---|
| 1 | Janet Jones | Female |
| 2 | Janet Smith Jones | Female |
| 3 | Robert Phil | Male |
| 4 | Gloria Williams | Female |
| 5 | Leonard Hofstadter | Male |
| 6 | Sheldon Cooper | Male |
| 7 | Rajesh Koothrappali | Male |
| 8 | Leslie Winkle | Male |
| 9 | Howard Wolowitz | Male |
Only the authorized columns for accounts department have been returned. Other details found in the members table have been hidden.
Dacฤ vrem sฤ vedem instrucศiunile SQL care alcฤtuiesc o anumitฤ vizualizare, putem folosi scriptul prezentat mai jos pentru a face asta.
SHOW CREATE VIEW `accounts_v_members`;
Executarea scriptului de mai sus vฤ oferฤ numele vizualizฤrii ศi instrucศiunile SQL SELECT utilizate pentru a crea vizualizarea.
Aderฤri ศi vizualizฤri รฎn MySQL
A single-table view is the simplest case. Views become far more valuable when they wrap a multi-table query.
Sฤ ne uitฤm acum la un exemplu destul de complex care implicฤ mai multe tabele ศi utilizฤri se alฤturฤ.
Vom รฎmpacheta JOIN-ul creat care obศine informaศii din trei (3) tabele ศi anume membri, filme ศi รฎnchirieri de filme. Mai jos este scenariul care ne ajutฤ sฤ realizฤm asta.
CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date` FROM `movierentals` AS mr INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number` INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;
Executarea scripturilor de mai sus creeazฤ vizualizarea numitฤ general_v_movie_rentals รฎn myflixdb
Sฤ selectฤm acum toate cรขmpurile dintr-un tabel numit general_v_movie_rentals.
SELECT * FROM `general_v_movie_rentals`;
Executarea scriptului de mai sus รฎn MySQL banc de lucru รฎmpotriva myflixdb ne oferฤ urmฤtoarele rezultate prezentate mai jos.
| membership_number | full_names | title | transaction_date | return_date |
|---|---|---|---|---|
| 1 | Janet Jones | Pirates of the Caribean 4 | 20-06-2012 | 28-06-2012 |
| 1 | Janet Jones | Forgetting Sarah Marshal | 22-06-2012 | 25-06-2012 |
| 3 | Robert Phil | Forgetting Sarah Marshal | 22-06-2012 | 25-06-2012 |
| 2 | Janet Smith Jones | Forgetting Sarah Marshal | 21-06-2012 | 24-06-2012 |
| 3 | Robert Phil | X-Men | 23-06-2012 | 28-06-2012 |
Reศineศi cฤ nu a fost nevoie sฤ scriem interogarea complexฤ JOIN pentru a obศine informaศii despre membri, filme ศi detalii despre รฎnchirierea filmelor. Pur ศi simplu am folosit vizualizarea รฎntr-o instrucศiune SELECT obiศnuitฤ ca orice alt tabel obiศnuit. Vederea poate fi apelatฤ de oriunde รฎn sistemul de aplicaศii care ruleazฤ deasupra myflixdb.
Picฤturฤping Vizualizฤri รฎn MySQL
Comanda DROP poate fi folositฤ pentru a ศterge o vizualizare din Baza de date asta nu mai este necesar. Sintaxa de bazฤ pentru a elimina o vizualizare este urmฤtoarea.
DROP VIEW `general_v_movie_rentals`;
Picฤturฤping a view removes only the stored query; the underlying tables and their data are untouched.

