V tomto článku se budeme učit, jak vytvořit dočasné tabulky a další pokles těchto tabulek. Dočasné tabulky jsou tabulky specifické pro relaci, které jsou vytvořeny v rámci relace. Když se relace zavře, tabulka se sama sníží. Dočasná tabulka existuje pouze v relaci; proto tabulka vytvořená jednou relací není viditelná pro jinou relaci. Například Session ID 501 vytvořil dočasnou tabulku, pak session ID 502 k ní nemá přístup ani s ní manipulovat., Dvě různé relace mohou mít dočasnou tabulku se stejným názvem.
dočasné tabulky jsou užitečné, pokud chcete použít malou podmnožinu velké tabulky a používá se několikrát v rámci uloženého postupu. V takových případech můžete namísto použití filtru na stole několikrát uložit podmnožinu velkých tabulek do dočasné tabulky a použít ji v rámci uloženého postupu.,
Důležité fakta z dočasných tabulek:
- MySQL Dočasné tabulky má oddělené vztah s schéma databáze, což znamená, že když jsme drop MySQL databáze, nemusí to nutně pokles dočasných tabulek v rámci databáze
- InnoDB databáze engine nepodporuje komprimované, dočasné tabulky. Pokud jste povolili parametr InnoDB_strict_mode, vrátí se chyba., Pokud jste zakázali InnoDB_strict_mode parametr, MySQL vydá varování a vytvořit tabulku s non-komprimovaný formát řádků
- vytvořit dočasnou tabulku uvnitř uložená procedura, musí mít uživatel vytvořit dočasnou tabulku oprávnění. Jakmile je uděleno, pak aktualizovat, odstranit nebo vložit data v této dočasné tabulce nevyžaduje žádné zvláštní oprávnění. Existuje jeden důsledek tohoto chování. Předpokládejme, že uložený postup, který používá dočasnou tabulku, A Uživatel 1, který postup vyvinul, má oprávnění vytvořit dočasnou tabulku., Nyní se uživatel 2 pokusí provést, ale nemá oprávnění vytvořit dočasnou tabulku. V takových případech používá MySQL oprávnění uživatele 1 k vytvoření dočasné tabulky. Jakmile je proces dokončí úspěšně, oprávnění, bude vráceno
- nelze vytvořit dočasné tabulky na základě definice, že tabulka již má, a je umístěn na MySQL tablespace, obecné tablespace, nebo InnoDB tablespace., Vytvořit dočasnou tabulku na základě definice z jiné tabulky, musíte použít následující syntaxi
1Vyberte dočasné tabulky.., vyberte * z
- na Rozdíl od běžných create table prohlášení, Vytvořit dočasnou tabulku prohlášení nezpůsobí implicitní commit
- dočasná tabulka může mít stejný název jako MySQL pravidelné tabulky. Například, i když v databázi existuje tabulka s názvem zaměstnanec, můžete v databázi vytvořit dočasnou tabulku s názvem zaměstnanec. V takových případech se tabulka MySQL stává nepřístupnou. Jakmile je dočasná tabulka vynechána, lze znovu přistupovat k fyzické tabulce.,/div>
1234567vytvořit dočasné tabulky tblemployee(Column_1 datový typ,Column_2 datový typ,Column_3 datový typ,…)
Jak vidíte, syntaxe pro vytvoření dočasné tabulky je stejná jako syntaxe pro vytvoření MySQL tabulky., Jediným rozdílem je, že musíte zadat dočasné Klíčové slovo mezi klíčovými slovy create a table. To je velmi důležité, protože pokud zapomenete přidat klíčové slovo, vytvoří pravidelnou tabulku MySQL.
nyní projděte některé příklady dočasné tabulky., Budu demonstrovat na následujících případech použití:
- Vytvořit dočasné tabulky a vložení dat v tabulce
- Vytvořit dočasné tabulky pomocí výstupu select
- Pokles temp tabulky
- Vytvořit dočasné tabulky pomocí struktury z jiné tabulky
Vytvořit dočasné tabulky a vložení dat
Vytvořit nový temp tabulky s názvem tblemployee na MySQL databázi, spustit následující dotaz:
Spustit následující dotaz, chcete-li vložit data do dočasné tabulky.,
jakmile jsou data vložena do tabulky temp, proveďte následující dotaz a ověřte, zda byla data vložena.
1
|
Vyberte * z tblemployee;
|
je následující výstup:
Teď, pro ověření rozsahu tblemployee stůl, dejte nám spustit stejný dotaz z MySQL příkazového řádku klienta., id=“22c41ae375″>
1
2
|
Použít sakila;
Select * from tblemployee;
|
Výstup: jak můžete vidět, má dotaz vzhledem k chybě:
Vytvořit dočasné tabulky pomocí výstupu select
Předpokládejme, že chcete vytvořit dočasné tabulky pomocí výstupu select dotazu., Například chci vložit podrobnosti tabulky filmů s její kategorií do tabulky temp s názvem temp_film_details. Chcete-li to provést, proveďte následující dotaz.
jakmile jsou podrobnosti vloženy do tabulky temp, proveďte následující dotaz a zobrazte data tabulky temp., id=“2a48234df2″>
1
|
Drop dočasné tabulky tbl_film_details
|
Jak jsem se zmínil, že se na databázi dočasné tabulky a InnoDB tabulka může mít stejné jméno, takže se ujistěte, že můžete zadat dočasné klíčové slovo; v opačném případě, pokud tabulky se stejným bude klesl,
Shrnutí
V tomto článku dozvěděli jsme se o MySQL temp tabulky a vlastnosti., Také jsme se dozvěděli, jak bychom mohli vytvořit a upustit tabulku temp s různými případy použití., Vytvořit a pokles temp tabulky
Naučte se MySQL: Mazat a Aktualizovat Prohlášení,
Naučte se MySQL: Základy MySQL Uložené Procedury
Naučte se MySQL: Základy MySQL Názory
- Autora
- Poslední Příspěvky
má odborné znalosti v oblasti návrhu databáze, ladění výkonu, zálohování a obnovy, nastavení HA a DR, migrace a upgrady databází. Dokončil B. Tech z univerzity Ganpat. On může být dosaženo na nisargupadhyay87@outlook.,com
- Naučte se MySQL: Základy MySQL Pohledy – 3. února 2021
- Naučte se MySQL: Základy MySQL Uložené Procedury – 8. ledna 2021
- T-SQL skripty pro aktualizaci statistiky založené na řadě modifikací – 24. prosince 2020
Leave a Reply