DESCRIBE znamená podrobné zobrazení informací. Protože máme v MySQL tabulky, tak použijeme příkaz DESCRIBE k zobrazení struktury naší tabulky, jako jsou názvy sloupců, omezení na názvy sloupců atd. Příkaz DESC je zkrácená forma příkazu DESCRIBE. Příkazy DESCRIBE i DESC jsou ekvivalentní a rozlišují malá a velká písmena.
Syntaxe
Následující syntaxe zobrazuje strukturu tabulky:
Pro zobrazení všech sloupců tabulky můžeme použít následující kroky:
Krok 1: Přihlášení k databázovému serveru MySQL.
Krok 2: Přepnutí na konkrétní databázi.
Krok 3: Proveďte příkaz DESCRIBE.
Pochopíme to pomocí příkladu, který vysvětluje, jak zobrazit sloupce tabulky ve vybrané databázi.
Přihlášení k databázi MySQL
Prvním krokem je přihlášení k databázovému serveru pomocí uživatelského jména a hesla. Měli bychom vidět výstup jako na následujícím obrázku:
Přepnutí do konkrétní databáze
Dalším krokem je otevření konkrétní databáze, ze které chceme zobrazit informace o tabulce pomocí následujícího dotazu. Po provedení dotazu bychom měli vidět následující výstup:
Provedení příkazu DESCRIBE
Je to poslední krok k zobrazení informací o tabulce. Před provedením příkazu DESCRIBE můžeme volitelně zobrazit všechny tabulky uložené v naší vybrané databázi pomocí příkazu SHOW TABLES:
Pokud chceme například zobrazit strukturu tabulky zákazníků, provedeme následující příkaz. Po úspěšném provedení poskytne výstup jako na následujícím obrázku:
Pro praxi můžeme také použít příkaz DESC, který je zkratkou příkazu DESCRIBE. Viz následující výstup:
Jak zobrazit informace o tabulce v nástroji MySQL Workbench?
Pro zobrazení informací o sloupcích tabulky v nástroji MySQL Workbench musíme nejprve spustit nástroj Workbench a přihlásit se pomocí uživatelského jména a hesla k databázovému serveru MySQL. Zobrazí se nám následující obrazovka:
Nyní proveďte následující kroky pro zobrazení informací o tabulce:
1. Zobrazte informace o tabulce. Přejděte na kartu Navigace a klikněte na nabídku Schéma. Zde se nám zobrazí všechny dříve vytvořené databáze. V nabídce Schema vyberte libovolnou databázi, například mysqltestdb. Zobrazí se několik možností, které si můžete prohlédnout na následujícím obrázku.
2. Dále klikněte na položku „Tables“, která zobrazí všechny tabulky uložené v databázi mysqltestdb. Vyberte tabulku, jejíž sloupcové informace chcete zobrazit. Poté na tuto tabulku najeďte myší, zobrazí se tři ikony. Viz následující obrázek:
Nyní klikněte na ikonu (i) zobrazenou v červeném obdélníkovém poli. Zobrazí se následující obrázek:
Nakonec klikněte na nabídku „Sloupce“ a zobrazte strukturu tabulky.
Příkaz SHOW COLUMNS
MySQL umožňuje zobrazit strukturu tabulky také příkazem SHOW COLUMNS. Je to flexibilnější způsob, jak získat informace o sloupcích tabulky.
Syntaxe:
Následující syntaxe příkazu SHOW COLUMNS:
Pokud například provedeme níže uvedený dotaz, získáme všechny informace o sloupcích tabulky v dané databázi:
Pokud chceme zobrazit informace o sloupcích tabulky z jiné databáze nebo tabulky, která není dostupná v aktuální databázi, můžeme použít následující dotaz:
Na následujícím obrázku vidíme, že jsme použili databázi mysqltestdb. Zobrazovali jsme však informace o sloupci tabulky z jiné databáze, aniž bychom se přepnuli do aktuální databáze.
Pokud chceme zobrazit více informací o sloupcích, musíme k příkazu SHOW TABLES přidat klíčové slovo FULL následujícím způsobem:
Například níže uvedený dotaz SQL vypíše všechny sloupce tabulky student_info v databázi mystudentdb:
Po provedení vidíme, že tento příkaz přidá do výsledné sady sloupce collation, privileges, default a comment.
MySQL EXPLAIN
Klíčové slovo EXPLAIN je synonymem příkazu DESCRIBE, který slouží k získání informací o tom, jak MySQL provádí dotazy. Může pracovat s dotazy INSERT, SELECT, DELETE, UPDATE a REPLACE. Od verze MySQL 8.0.19 a novější může pracovat také s příkazy TABLE. Pokud toto klíčové slovo použijeme v dotazech, zpracuje příkaz a poskytne informace o způsobu spojení tabulek, pořadí tabulky, odhadovaných oddílech a řádcích.
Příklad
Pokud chceme zobrazit plán provedení příkazu SELECT, můžeme použít následující dotaz:
Výstup:
Tento dotaz poskytuje následující informace: