Zobrazení v MySQL - Jak vytvořit pohledy v MySQL?

Obsah:

Anonim

Úvod do pohledů v MySQL

Zobrazení SQL není nic jiného než virtuální tabulka databáze. Pohled obsahuje pole jako skutečná tabulka, ale tato pole pocházejí z jedné nebo více tabulek v databázi, která je spuštěna spousty MySQL dotazů. Ve virtuálních tabulkách můžeme provádět operace jako klauzule WHERE a JOIN. Na druhou stranu VIEW není nic jiného než VYBRAT dotazy.

Syntax:

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

  • “CREATE VIEW view_name” přikazuje MySQL vytvořit pohled / virtuální tabulku s názvem view_name.
  • Příkaz „AS SELECT column1, column2 FROM table“ načte sloupce1 a sloupec2 ze skutečné tabulky. Poté tato pole uloží do virtuální tabulky.

Jak vytvořit pohledy v MySQL?

Vytvořme jednu tabulku zákazníků s následujícími atributy:

Zákaznické identifikační číslo Jméno zákazníka Kontaktní číslo E-mailem Zakoupená částka Město
184 Ravi Kumar 9887463893 8000, 00 Kalkata
987 Vinay Das 9839878678 12000, 00 Dillí
452 K.Amarnath 7598759387 15 000, 00 Kalkata
874 Abhinash Desai 7675878798 5000, 00 Bombaj

Vytvoříme jednu tabulku cutomser_archive s naším požadovaným atributem.

Dotaz č. 1

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

Výstup:

Zákaznické identifikační číslo Jméno zákazníka Kontaktní číslo Město
184 Ravi Kumar 9887463893 Kalkata
987 Vinay Das 9839878678 Dillí
452 K.Amarnath 7598759387 Kalkata
874 Abhinash Desai 7675878798 Bombaj

Při vytváření pohledu můžeme podmínku použít také na tento dotaz.

Dotaz č. 2

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

Výstup:

Zákaznické identifikační číslo Jméno zákazníka Kontaktní číslo Zakoupená částka Město
987 Vinay Das 9839878678 12000, 00 Dillí
452 K.Amarnath 7598759387 15 000, 00 Kalkata

Různé možnosti zobrazení v MySQL

Následuje podrobnější vysvětlení různých možností zobrazení v MySQL,

1. DROP: Pohled / virtuální tabulka lze vymazat pomocí příkazu DROP VIEW. Pokud chceme smazat tabulku customer_archive,

Syntax:

DROP VIEW customer_archive;

2. VYTVOŘIT NEBO VYMĚNIT: Příkazem VYTVOŘIT NEBO VYMĚNIT VIEW můžeme aktualizovat zobrazení / virtuální tabulku.

Syntax:

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

3. JOIN: Můžeme také vytvořit pohled spojením více tabulek. Toto spojení načte shodné záznamy z obou tabulek. Existují různé druhy spojení pojmenovaných jako vnitřní spoj, levý spoj, pravý spoj, plný vnější spoj, křížový spoj atd.

Syntax:

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

Nahoře je příklad vnitřního spojení. Stejným způsobem můžeme použít i další spojení. Ve výše uvedeném příkladu bude pohled vytvořen sloučením záznamů, které jsou přítomny v tabulce název_tabulky1 a název_tabulky2 na základě společného pole.

Příklady pohledů v MySQL

Uvažujme výše uvedený příklad:

Zákaznické identifikační číslo Jméno zákazníka Kontaktní číslo E-mailem Zakoupená částka Město
184 Ravi Kumar 9887463893 8000, 00 Kalkata
987 Vinay Das 9839878678 12000, 00 Dillí
452 K.Amarnath 7598759387 15 000, 00 Kalkata
874 Abhinash Desai 7675878798 5000, 00 Bombaj
987 Aseem Kumar 9697679867 18 000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Toto je databáze tabulek zákazníků.

Vytvoříme další pohled, pojmenujeme jej jako premium_customer. Podmínky pro prémiové zákazníky budou při nákupu_ částka vyšší než 10 000.

Dotaz č. 1

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

Výstup:

Zákaznické identifikační číslo Jméno zákazníka Kontaktní číslo Zakoupená částka Město
987 Vinay Das 9839878678 12000, 00 Dillí
452 K.Amarnath 7598759387 15 000, 00 Kalkata
987 Aseem Kumar 9697679867 18 000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Pokud chceme zrušit tuto virtuální tabulku premium_customer, pak níže je syntaxe.

DROP VIEW premium_customer;

Pokud je pro tuto výše uvedenou prémiovou tabulku nutná nějaká úprava změnou některých podmínek, pak

Dotaz č. 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;

Výstup:

Zákaznické identifikační číslo Jméno zákazníka Kontaktní číslo E-mailem Zakoupená částka Město
184 Ravi Kumar 9887463893 8000, 00 Kalkata
987 Vinay Das 9839878678 12000, 00 Dillí
452 K.Amarnath 7598759387 15 000, 00 Kalkata
987 Aseem Kumar 9697679867 18 000, 00 Cuttack
989 Sakti 9847984788 60000, 00 Cuttack

Výhody a nevýhody pohledu v MySQL

Zde diskutujeme výhody a nevýhody pohledů v MySQL,

Výhody

  • Zabezpečení: Existuje mnoho tabulek, které jsou omezeny od mnoha uživatelů, protože některé atributy v těchto tabulkách budou velmi citlivé. Pokud tedy můžeme vytvořit pohledy s určitými specifickými atributy pro příslušné uživatele, pak může být uživatelům uděleno oprávnění k přístupu k některé sadě pohledů do databáze, která je k nim zmocněna. To může udržovat bezpečnost a integritu dat a uživatelé mohou provádět své úkoly s příslušnými autorizovanými sloupci.
  • Jednoduchost dotazu: Pohled lze vytvořit načtením dat z několika tabulek. Takže všechny kumulativní záznamy ze všech tabulek mohou být reprezentovány jednou tabulkou pomocí dotazu pohledu.
  • Strukturální jednoduchost: můžeme vytvořit specializovaný nebo přizpůsobený uživatelský pohled. Můžeme tedy reprezentovat databázi jako sadu virtuálních tabulek, které dávají uživateli smysl.
  • Konzistence: zde zmiňujeme konzistenci, protože toto zobrazení může představovat konzistentní a nezměněný obraz struktury databáze, i když provádíme nějakou manipulaci s hlavní tabulkou nebo hlavní tabulkou.
  • Integrita dat: pokud jsou data přístupná do pohledu, databáze vždy zkontroluje data, aby zajistila, zda splňuje omezení integrity nebo ne.

Nevýhody

  • Výkon: Pohledy jsou virtuální tabulka nebo zástupce hlavních tabulek. Když spustíme některé dotazy k vytvoření pohledu, DBMS převede tyto dotazy proti pohledům do dotazů v podkladových tabulkách. Takže pokud je dotaz pohledu velmi složitý, který obsahuje více zdrojů a obtížné algoritmy, pak jednoduchá akce proti těmto pohledům zabere značný čas.
  • Omezení aktualizace: Při změně řádků v pohledu musí DBMS převést požadavek do aktualizace v řádcích podkladové zdrojové tabulky. Aktualizace může být provedena jednoduchým dotazem, ale v případě složitého dotazu DBMS neumožňuje aktualizaci, protože pohledy jsou často omezeny pouze na čtení.

Závěr

Po procházení výše popsanými věcmi můžeme jasně poznat význam tohoto příkazu. To se hodí v mnoha scénářích v reálném čase. Hlavní výhodou je, že můžeme provádět mnoho složitých dotazů, abychom věděli, jak efektivní je náš základní algoritmus. Klíčovou výhodou příkazu view je zachování bezpečnosti a integrity dat.

Doporučené články

Toto je průvodce pohledy v MySQL. Zde diskutujeme o tom, jak vytvořit pohledy v mysql, a pochopit, jak různé pohledy fungují v MySQL. Další informace naleznete také v následujících článcích

  1. Top 3 MySQL operátoři
  2. Různé příkazy MySQL Query
  3. Top 6 zástupných znaků v MySQL
  4. Jak funguje MySQL Schema?