Inleiding tot weergaven in MySQL

SQL-weergave is niets anders dan een virtuele tabel van de database. De weergave bevat velden zoals een echte tabel, maar die velden komen uit een of meer tabellen in de database die wordt uitgevoerd door een aantal MySQL-query's uit te voeren. We kunnen bewerkingen uitvoeren zoals WHERE en JOIN-clausules in de virtuele tabellen. Aan de andere kant is VIEW niets anders dan SELECT-zoekopdrachten.

Syntaxis:

CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;

  • "CREATE VIEW view_name" commando's MySQL om een ​​view / virtuele tabel te maken in de naam van view_name.
  • De instructie "AS SELECT kolom1, kolom2 UIT tabel" haalt kolom1 en kolom2 uit de echte tabel. Vervolgens worden deze velden opgeslagen in de virtuele tabel.

Hoe weergaven maken in MySQL?

Laten we één klantentabel maken met de volgende kenmerken:

Klanten ID Klantnaam Contact_no E-mail Purchased_amount stad
184 Ravi Kumar 9887463893 8000.00 Kolkata
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
874 Abhinash Desai 7675878798 5000.00 Mumbai

We zullen één cutomser_archive-tabel maken met ons vereiste kenmerk.

Zoekopdracht # 1

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;

Output:

Klanten ID Klantnaam Contact_no stad
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

We kunnen de voorwaarde ook toepassen op deze query tijdens het maken van een weergave.

Vraag # 2

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Output:

Klanten ID Klantnaam Contact_no Purchased_amount stad
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata

Verschillende weergaveopties in MySQL

Hieronder volgen de verschillende weergaveopties in MySQL die in meer detail worden uitgelegd,

1. DROP: een weergave / virtuele tabel kan worden verwijderd met de opdracht DROP VIEW. Als we de tabel klant_archief willen verwijderen,

Syntaxis:

DROP VIEW customer_archive;

2. CREATE OF REPLACE: Met de opdracht CREATE OF REPLACE VIEW kunnen we een view / virtuele tabel bijwerken.

Syntaxis:

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;

3. JOIN: we kunnen ook een weergave maken door aan meerdere tabellen deel te nemen. Met deze join worden overeenkomende records uit beide tabellen opgehaald. Er zijn verschillende soorten joins die worden genoemd als een inner join, left join, right join, volledige outer join, cross join, etc.

Syntaxis:

CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;

Hierboven is het voorbeeld van een inner join. Op dezelfde manier kunnen we ook andere joins toepassen. In het bovenstaande voorbeeld wordt de weergave gemaakt door de records die aanwezig zijn in zowel tabelnaam1 als tabelnaam2 te consolideren op basis van een gemeenschappelijk veld.

Voorbeelden van weergaven in MySQL

Laten we het bovenstaande voorbeeld bekijken:

Klanten ID Klantnaam Contact_no E-mail Purchased_amount stad
184 Ravi Kumar 9887463893 8000.00 Kolkata
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
874 Abhinash Desai 7675878798 5000.00 Mumbai
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Dit is de database met klantentabellen.

We zullen er een andere weergave van maken en deze een premium_customer noemen. Voorwaarden voor premium klanten zullen zijn terwijl gekocht bedrag groter zal zijn dan 10000.

Zoekopdracht # 1

CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Output:

Klanten ID Klantnaam Contact_no Purchased_amount stad
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Als we deze premium_customer virtuele tabel willen laten vallen, dan is hieronder de syntaxis.

DROP VIEW premium_customer;

Als een wijziging van deze bovenstaande premium-tabel nodig is door enkele voorwaarden te wijzigen, dan

Vraag # 2

CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;

Output:

Klanten ID Klantnaam Contact_no E-mail Purchased_amount stad
184 Ravi Kumar 9887463893 8000.00 Kolkata
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Voor- en nadelen van weergaven in MySQL

Hier bespreken we de voor- en nadelen van Views in MySQL,

voordelen

  • Beveiliging: er zijn veel tabellen die voor veel gebruikers niet toegankelijk zijn, omdat sommige attributen in die tabellen erg gevoelig zullen zijn. Dus, als we views kunnen maken met enkele specifieke attributen voor respectieve gebruikers, dan kunnen gebruikers toestemming krijgen om toegang te krijgen tot een set views in een database die aan hen is geautoriseerd. Dit kan de veiligheid en integriteit van gegevens behouden en gebruikers kunnen hun taken uitvoeren met respectieve geautoriseerde kolommen.
  • Query-eenvoud: een weergave kan worden gemaakt door gegevens uit verschillende tabellen op te halen. Alle cumulatieve records van alle tabellen kunnen dus worden weergegeven als een enkele tabel met behulp van de viewquery.
  • Structurele eenvoud: we kunnen een gespecialiseerde of gepersonaliseerde gebruikersspecifieke weergave creëren. We kunnen de database dus weergeven als een set virtuele tabellen die logisch zijn voor de gebruiker.
  • Consistentie: we noemen hier consistentie omdat deze weergave een consistent en ongewijzigd beeld van de structuur van de database kan vertegenwoordigen, zelfs als we de hoofdtabel of hoofdtabel manipuleren.
  • Gegevensintegriteit: als toegang tot de gegevens tot een weergave wordt verkregen, controleert de database de gegevens altijd om te controleren of deze aan de integriteitsbeperkingen voldoen of niet.

nadelen

  • Prestaties: weergaven zijn de virtuele tabel of representatief voor hoofdtabellen. Wanneer we enkele query's uitvoeren om een ​​view te maken, vertaalt DBMS deze query's tegen de views in de query's in onderliggende tabellen. Dus als de viewquery erg complex is en meerdere bronnen en moeilijke algoritmen bevat, kost eenvoudige actie tegen die views veel tijd.
  • Updatebeperkingen: tijdens het wijzigen van rijen in een weergave, moet het DBMS de aanvraag vertalen in een update voor rijen van de onderliggende brontabel. De update kan worden uitgevoerd in de eenvoudige query, maar in het geval van een complexe query staat DBMS geen updates toe omdat weergaven vaak beperkt zijn tot alleen-lezen.

Conclusie

Na het doorlopen van de hierboven beschreven dingen, kunnen we duidelijk de betekenis van dit commando leren kennen. Dit is handig in veel realtime scenario's. Het grote voordeel hiervan is dat we veel complexe zoekopdrachten kunnen uitvoeren om te weten hoe effectief ons onderliggende algoritme is. Het handhaven van gegevensbeveiliging en integriteit is het belangrijkste voordeel van de weergaveopdracht.

Aanbevolen artikelen

Dit is een gids voor Views in MySQL. Hier bespreken we hoe u views kunt maken in MySQL en begrijpen hoe verschillende opties voor views werken in MySQL. U kunt ook de volgende artikelen bekijken voor meer informatie-

  1. Top 3 MySQL-operators
  2. Verschillende MySQL-queryopdrachten
  3. Top 6 wildcards in MySQL
  4. Hoe werkt MySQL-schema?