Introduktion till visningar i MySQL
SQL-vyn är inget annat än en virtuell tabell i databasen. Vyn innehåller fält som en riktig tabell, men dessa fält kommer från en eller flera tabeller i databasen som körs genom att köra ett gäng MySQL-frågor. Vi kan utföra operationer som WHERE och JOIN-klausuler i de virtuella tabellerna. Å andra sidan är VIEW inget annat än VÄLJ frågor.
Syntax:
CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;
- “CREATE VIEW view_name” kommandon MySQL för att skapa en vy / virtuell tabell i namnet på view_name.
- ”SOM VÄLJ kolumn1, kolumn2 FRÅN tabell” uttalande hämtar kolumn 1 och kolumn2 från den verkliga tabellen. Sedan sparar de fälten i den virtuella tabellen.
Hur skapar jag vyer i MySQL?
Låt oss skapa en kundtabell med följande attribut:
Kundnummer | Köparens namn | Contact_no | E-post | 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 |
Vi skapar en cutomser_archive-tabell med vårt önskade attribut.
Fråga 1
CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;
Produktion:
Kundnummer | Köparens namn | Contact_no | Stad |
184 | Ravi Kumar | 9887463893 | Kolkata |
987 | Vinay Das | 9839878678 | delhi |
452 | K.Amarnath | 7598759387 | Kolkata |
874 | Abhinash Desai | 7675878798 | Mumbai |
Vi kan också tillämpa villkoret på den här frågan medan vi skapar en vy.
Fråga # 2
CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;
Produktion:
Kundnummer | Köparens namn | Contact_no | Purchased_amount | Stad |
987 | Vinay Das | 9839878678 | 12000, 00 | delhi |
452 | K.Amarnath | 7598759387 | 15000, 00 | Kolkata |
Olika visningsalternativ i MySQL
Följande är de olika visningsalternativen i MySQL som förklarar mer i detalj,
1. DROP: En vy / virtuell tabell kan raderas med kommandot DROP VIEW. Om vi vill ta bort tabellen customer_archive,
Syntax:
DROP VIEW customer_archive;
2. SKAPA ELLER Byt ut: Med CREATE OR REPLACE VIEW-kommandot kan vi uppdatera en vy / virtuell tabell.
Syntax:
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;
3. GÅ MED: Vi kan också skapa en vy genom att gå med i flera tabeller. Denna sammanfogning hämtar matchade poster från båda tabellerna. Det finns olika typer av sammanfogningar som kallas en inre sammanfogning, vänsterfogning, högerfogning, full yttre förbindning, korsfogning etc.
Syntax:
CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;
Ovan är exemplet på en inre koppling. På samma sätt kan vi också tillämpa andra förbindelser. I exemplet ovan skapas vyn genom att konsolidera de poster som finns i både tabellnamn1 och tabellnamn2 på grundval av ett gemensamt fält.
Exempel på visningar i MySQL
Låt oss överväga exemplet ovan:
Kundnummer | Köparens namn | Contact_no | E-post | 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 |
Detta är kundtabellens databas.
Vi kommer att skapa en annan vy av den och namnge den som en premiumkund. Villkoren för premiumkunder kommer att vara medan köpta_beloppet är större än 10000.
Fråga 1
CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;
Produktion:
Kundnummer | Köparens namn | 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 |
Om vi vill släppa den här virtuella premium_customer-tabellen är syntaxen nedan.
DROP VIEW premium_customer;
Om vissa ändringar krävs i denna ovanstående premiumtabell genom att ändra vissa villkor, då
Fråga # 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;
Produktion:
Kundnummer | Köparens namn | Contact_no | E-post | 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 |
Fördelar och nackdelar med visningar i MySQL
Här diskuterar vi fördelar och nackdelar med Views i MySQL,
fördelar
- Säkerhet: Det finns många tabeller som är begränsade från många användare eftersom vissa attribut i dessa tabeller är mycket känsliga. Så om vi kan skapa vyer med vissa specifika attribut för respektive användare, kan användare ges tillstånd att komma åt någon uppsättning vyer i en databas som är auktoriserad för dem. Detta kan upprätthålla säkerheten och integriteten för data så att användare kan utföra sina uppgifter med respektive auktoriserade kolumner.
- Enkel fråga: En vy kan skapas genom att hämta data från flera tabeller. Så alla kumulativa poster från alla tabeller kan representeras av en enda tabell med hjälp av visningsfrågan.
- Strukturell enkelhet: vi kan skapa en specialiserad eller personlig användarspecifik vy. Så vi kan representera databasen som en uppsättning virtuella tabeller som är vettiga för användaren.
- Konsistens: vi nämner konsistens här eftersom den här vyn kan representera en konsekvent och oförändrad bild av databasstrukturen även om vi gör någon manipulation till huvudtabellen eller huvudtabellen.
- Dataintegritet: om data har åtkomst till en vy kontrollerar databasen alltid data för att se om de uppfyller integritetsbegränsningarna eller inte.
nackdelar
- Prestanda: Visningar är den virtuella tabellen eller representanten för huvudtabeller. När vi kör några frågor för att skapa en vy, översätter DBMS dessa frågor mot vyerna till frågorna i underliggande tabeller. Så om visningsfrågan är mycket komplex som innehåller flera källor och svåra algoritmer, tar enkel åtgärd mot dessa vyer betydande tid.
- Uppdateringsbegränsningar: När du ändrar rader i en vy måste DBMS översätta begäran till en uppdatering på rader i den underliggande källtabellen. Uppdateringen kan göras i den enkla frågan men i fallet med en komplex fråga tillåter DBMS inte uppdatering eftersom vyer ofta är begränsade till skrivskyddad.
Slutsats
Efter att ha gått igenom ovan beskrivna saker kan vi tydligt lära känna betydelsen av detta kommando. Detta är praktiskt i många realtidsscenarier. Den största fördelen med detta är att vi kan utföra många komplexa frågor bara för att veta hur effektiv vår underliggande algoritm är. Att upprätthålla datasäkerhet och integritet är den viktigaste fördelen med visningskommando.
Rekommenderade artiklar
Detta är en guide till Visningar i MySQL. Här diskuterar vi hur man skapar vyer i mysql och förstår hur olika visningsalternativ fungerar i MySQL. Du kan också titta på följande artiklar för att lära dig mer-
- Topp 3 MySQL-operatörer
- Olika MySQL Query-kommandon
- Topp 6 wildcards i MySQL
- Hur fungerar MySQL Schema?