MySQL Nézetek: Hogyan hozhatunk létre nézetet táblázatokból
⚡ Okos összefoglaló
MySQL A nézetek virtuális táblázatok, amelyek nem tárolnak saját adatokat, ehelyett egy tárolt SELECT lekérdezés eredményét jelenítik meg. Ez az anyag a myflixdb adatbázisból futtatható példákkal ismerteti a nézetek létrehozását, lekérdezését, összekapcsolását és elvetését.

Miben vannak a nézetek MySQL?
NÉZETEK olyan virtuális táblák, amelyek nem tárolnak saját adatokat, hanem más táblákban tárolt adatokat jelenítenek meg. Más szóval, a VIEWS nem más, mint SQL lekérdezések. Egy nézet tartalmazhat egy táblázat összes vagy néhány sorát. A MySQL nézet egy vagy több tábla adatait is megjelenítheti.
MySQL Megtekintések szintaxisa
Most nézzük meg a nézet létrehozásához használt alapvető szintaxist MySQL.
CREATE VIEW `view_name` AS SELECT statement;
AHOL
- „NÉZET LÉTREHOZÁSA `view_name`” megmondja MySQL szervert, hogy létrehozzon egy nézetobjektumot a `view_name` nevű adatbázisban
- „AS SELECT utasítás” a csomagba csomagolandó SQL utasítások MySQL Nézetek. Ez lehet egy SELECT utasítás, amely egy táblából vagy több táblából is tartalmazhat adatokat.
Miért érdemes nézeteket használni?
Mielőtt építenél egyet, érdemes tudni, hogy mit is ér valójában egy kilátás.
A nézeteket elsősorban a következő 3 ok miatt érdemes használni
- Végső soron a sajátodat fogod használni SQL tudást, olyan alkalmazások létrehozásához, amelyek adatbázist használnak az adatkövetelményekhez. Javasoljuk, hogy az alkalmazásban az eredeti táblaszerkezet NÉZETÉT használja a táblák helyett. Ez biztosítja, hogy az adatbázis refaktorálásakor a korábbi kód az eredeti sémát fogja látni a nézeten keresztül az alkalmazás meghibásodása nélkül.
- A NÉZETEK növelik az újrafelhasználhatóságot. Nem kell összetett lekérdezéseket létrehoznia, amelyek ismétlődő csatlakozásokat tartalmaznak. Az összes bonyolultság egyetlen sor lekérdezéssé konvertálódik a VIEWS használatával. Az ilyen tömörített kód könnyebben integrálható az alkalmazásba. Ez kiküszöböli az elírások esélyét, és a kód jobban olvasható lesz.
- A VIEWS segít az adatbiztonságban. A nézetek segítségével csak engedélyezett információkat jeleníthet meg a felhasználók számára, és elrejtheti az érzékeny adatokat, például a hitelkártyaszámokat.
Nézetek létrehozása itt MySQL
A szintaxis és az előnyök megismerésével az alábbi lépések egy működőképes nézetet építenek fel a teljes folyamat során.
Az alábbiakban egy lépésről lépésre bemutatjuk a nézet létrehozásának folyamatát MySQL:
Step 1) Készítse el első nézetünket a „myflixdb” segítségével
Most hozzuk létre az első nézetünket a „myflixdb” használatával, és egy egyszerű nézetet hozunk létre, amely korlátozza a tagok táblájában látható oszlopokat.
Tegyük fel, hogy a jogosultsági követelmények előírják, hogy a könyvelési osztály csak a tag számát, nevét és nemét láthatja a tagtáblázatból. Ennek eléréséhez létrehozhat egy NÉZETET –
CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;
Step 2) A nézetek csomópontjának bővítése
A fenti szkript végrehajtása MySQL munkapadot a myflixdb ellen, és az adatbázis-kezelőben a nézetek csomópontjának kibővítésével a következő eredményeket kapjuk.
Vegye figyelembe, hogy az accounts_v_members objektum most már látható az adatbázisnézeti objektumokban.
Step 3) Hajtson végre egy SELECT utasítást
Most hajtsuk végre a SELECT utasítás amely kijelöli az összes mezőt a nézetből az alábbiak szerint MySQL nézet létrehozása példa.
SELECT * FROM `accounts_v_members`;
Step 4) Futtasson le egy szkriptet
A fenti szkript végrehajtása MySQL A myflixdb elleni munkapad az alábbi eredményeket adja.
| 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 |
Csak a számviteli osztályhoz tartozó engedélyezett oszlopok kerültek visszaadásra. A tagok táblában található egyéb adatok rejtve lettek.
Ha egy adott nézetet alkotó SQL-utasításokat szeretnénk látni, használhatjuk az alábbi szkriptet.
SHOW CREATE VIEW `accounts_v_members`;
A fenti parancsfájl végrehajtása megadja a nézet nevét és a nézet létrehozásához használt SQL SELECT utasításokat.
Csatlakozik és megtekinti MySQL
Az egytáblás nézet a legegyszerűbb eset. A nézetek sokkal értékesebbé válnak, ha egy többtáblás lekérdezést is magukban foglalnak.
Nézzünk most egy meglehetősen összetett példát, amely több táblát és felhasználást foglal magában csatlakozik.
Csomagoljuk a létrehozott JOIN-t, amely három (3) táblázatból kap információkat, nevezetesen a tagokról, a filmekről és a filmkölcsönzésről. Az alábbiakban látható a forgatókönyv, amely segít ennek elérésében.
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`;
A fenti szkriptek végrehajtása létrehozza a general_v_movie_rentals nevű nézetet a myflixdb-ben
Most jelöljük ki az összes mezőt egy general_v_movie_rentals nevű táblából.
SELECT * FROM `general_v_movie_rentals`;
A fenti szkript végrehajtása MySQL munkapad a myflixdb ellen az alábbi eredményeket adjuk.
| 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 |
Megjegyzés: nem kellett megírnunk az összetett JOIN lekérdezést, hogy információkat kapjunk a tagokról, a filmekről és a filmkölcsönzés részleteiről. Egyszerűen a nézetet egy szokásos SELECT utasításban használtuk, mint bármely más szokásos táblát. A nézet a myflixdb tetején futó alkalmazásrendszer bárhonnan hívható.
Cseppping Megtekintések MySQL
A DROP paranccsal törölhet egy nézetet a adatbázis arra már nincs szükség. A nézet eldobásának alapvető szintaxisa a következő.
DROP VIEW `general_v_movie_rentals`;
Cseppping Egy nézet csak a tárolt lekérdezést távolítja el; az alapul szolgáló táblák és adataik érintetlenek maradnak.

