V SQL - strukturovaném programovacím jazyce pro práci s databázemi-jsou časové tabulky velmi užitečným nástrojem. Umožňují nám vytvářet a používat dočasné datové sady, které lze použít v rámci jedné relace nebo dotazu. Časová tabulka je vytvořena a použita pouze během provádění dotazu nebo relace, poté je automaticky odstraněna.
Vytvoření časové tabulky v SQL je snadný úkol. K tomu používáme Klíčové slovo CREATE TEMPORARY TABLE, následovaný názvem časové tabulky a její strukturou jako seznam sloupců a datových typů. Pokud musíme do tabulky přidat některá data, můžeme použít operátora INSERT v případě potřeby operátory UPDATE a DELETE.
Časové tabulky jsou zvláště užitečné v situacích, kdy potřebujeme provést složité výpočty nebo manipulaci s daty v rámci jedné relace nebo dotazu. Pomáhají nám zlepšit výkon, zjednodušit kódování a zpracovávat data, aniž by ucpávaly trvalé tabulky. Pomocí časových tabulek můžeme složitější úkoly rozdělit na jednodušší, díky čemuž je Kód čitelnější a lehčí.
Definice časové tabulky
Definice časové tabulky se provádí pomocí klíčového slova create TEMPORARY TABLE, po kterém následuje název časové tabulky a seznam sloupců a jejich datové typy. Například:
CREATE TEMPORARY TABLE my_temp_table (id INT,name VARCHAR(50));
Jakmile je časová tabulka definována, může být použita k přidání, aktualizaci, odstranění nebo vzorkování dat stejným způsobem jako běžná tabulka. Například:
INSERT INTO my_temp_table (id, name)VALUES (1, 'John');SELECT * FROM my_temp_table;
Po spuštění výše uvedeného kódu bude vytvořena dočasná tabulka my_temp_table a bude do ní přidán jeden záznam. Poté bude proveden požadavek na vzorkování všech záznamů z časové tabulky a výsledek bude zobrazen na obrazovce. Po dokončení relace bude dočasná tabulka automaticky odstraněna.
Výhody používání časových tabulek
Použití časových tabulek v SQL může poskytnout následující výhody:
- Zlepšení výkonu dotazů: Časové tabulky umožňují uložit výsledky mezilehlých výpočtů, což může výrazně zkrátit dobu provádění složitých dotazů.
- Pohodlí a flexibilita: Dočasné tabulky lze použít k dočasnému ukládání dat nebo provádění mezilehlých výpočtů, aniž by bylo nutné vytvářet trvalé tabulky.
- Minimalizace využití zdrojů: Dočasné tabulky jsou vytvořeny v paměti RAM nebo v dočasném úložišti databáze, což umožňuje optimalizovat využití místa na disku a zdrojů serveru.
- Správa transakcí: Dočasné tabulky lze použít ke správě transakcí, což umožňuje ukládat a vracet změny pouze pro určitá data.
- Oblast viditelnosti: Dočasné tabulky jsou vytvářeny a viditelné pouze v rámci aktuální relace nebo připojení, což umožňuje vyhnout se konfliktům jmen při souběžném provádění dotazů.
Vytvoření časové tabulky v SQL
Časové tabulky v SQL vám poskytují možnost ukládat dočasné informace během provádění dotazů. Mohou být užitečné, pokud potřebujete uložit výsledky mezilehlých výpočtů nebo dočasně uložit data, která budou později smazána.
K vytvoření časové tabulky v SQL musíte použít klíčové slovo create TEMPORARY TABLE , následované názvem tabulky a strukturou tabulky.
Zde je příklad vytvoření dočasné tabulky employees se sloupci id, name a salary :
CREATE TEMPORARY TABLE employees (id INT,name VARCHAR(50),salary DECIMAL(10,2));
Data můžete přidat do časové tabulky pomocí příkazu INSERT INTO nebo select dotazu. Zde je příklad přidání dat do tabulky employees :
INSERT INTO employees (id, name, salary)VALUES (1, 'John Doe', 5000.00),(2, 'Jane Smith', 6000.00),(3, 'Bob Johnson', 5500.00);
Po dokončení práce s dočasnou tabulkou bude automaticky odstraněna z databáze. Dočasnou tabulku můžete také explicitně odstranit pomocí příkazu DROP TABLE .
Použití časových tabulek v SQL vám může výrazně usnadnit práci s mezilehlými daty a zlepšit celkovou efektivitu provádění dotazů.
Operace s časovými tabulkami
Jednou z hlavních výhod použití časových tabulek je schopnost vypočítat hodnoty a provádět operace na nich v rámci jednoho dotazu. Kromě toho jsou dočasné tabulky automaticky odstraněny z databáze po ukončení relace nebo po ukončení připojení k serveru.
Operace časových tabulek zahrnují vytváření, vyplňování, změnu struktury a odstranění těchto tabulek. K vytvoření časové tabulky se používá klíčové slovo create TEMPORARY TABLE a ke změně struktury tabulky slouží Alter TABLE .
Po vytvoření časové tabulky můžete do ní přidávat data pomocí příkazu INSERT INTO . To vám umožní vyplnit takovou tabulku daty, abyste je mohli použít k dalším výpočtům.
V případě potřeby můžete změnit strukturu časové tabulky pomocí příkazu ALTER TABLE . To vám umožní přidat nebo odstranit sloupce a také změnit datové typy nebo omezení pro každý sloupec.
Po dokončení práce s dočasnou tabulkou ji lze odstranit pomocí příkazu DROP TABLE . V důsledku toho budou dočasná data odstraněna z databáze a zdroje obsazené těmito daty budou uvolněny.
Odstranění časové tabulky
Jakmile již není potřeba časová tabulka, musí být odstraněna z databáze, aby se uvolnila paměť a zdroje.
K odstranění časové tabulky se v SQL používá příkaz DROP TABLE, za kterým je uveden název tabulky. Chcete-li například odstranit dočasnou tabulku "temp_table", musíte provést následující požadavek:
| SQL-dotaz |
|---|
| DROP TABLE temp_table; |
Po provedení tohoto požadavku bude dočasná tabulka "temp_table" odstraněna z databáze. Všimněte si, že operace odstranění je nevratná, takže před odstraněním tabulky byste se měli ujistit, že již není potřeba, a uložit potřebná data.
Odstranění časové tabulky lze také provést vizuálně pomocí řídicích nástrojů poskytovaných vývojovým prostředím nebo programem pro správu databáze.
Příklady použití časových tabulek
1) Vytvoření časové tabulky pro ukládání průběžných výsledků:
Časové tabulky mohou být velmi užitečné při provádění složitých dotazů, kdy je nutné zachovat průběžné výsledky pro další zpracování. Můžeme například vytvořit dočasnou tabulku pro uložení průběžného výsledku vzorkování dat z hlavní tabulky a použít tuto časovou tabulku k provádění dalších dotazů. To může výrazně zjednodušit proces práce s daty a zlepšit výkon.
2) vytvoření časové tabulky pro dočasné ukládání dat:
Dalším příkladem použití časových tabulek je vytvoření časové tabulky pro dočasné ukládání dat. Pokud například chceme provést nějaké operace nad určitými daty a uložit výsledky do samostatné tabulky, můžeme pro tento účel použít dočasnou tabulku. Dočasná tabulka bude existovat pouze v rámci aktuální relace a po jejím skončení bude automaticky odstraněna.
3) vytvoření časové tabulky pro porovnání výsledků:
Dalším příkladem použití časových tabulek je vytvoření časové tabulky pro srovnání výsledků dvou dotazů nebo dvou verzí dat. Výsledky prvního dotazu nebo verze dat můžeme uložit do časové tabulky, provést druhý dotaz nebo získat druhou verzi dat a porovnat výsledky. To může být užitečné při ladění nebo kontrole správnosti výsledků.