Rozdíl mezi zkrácením a smazáním

Tvorba dat a manipulace tvoří základ databází a nazýváme je DDL a DML. DDL je zkratka pro jazyk definice dat. Mohlo by buď vytvořit nebo upravit datové struktury v databázích a nemohly být použity ke změně dat přítomných v tabulkách. Máme například příkazy, které pouze vytvářejí tabulku se zadanými atributy tabulky, ale nikdy do tabulky nepřidává žádné řádky. Ale DML, jazyk pro manipulaci s daty, je schopen přidávat, mazat nebo upravovat data v tabulkách. Příkazy DDL se obecně zabývají strukturami tabulek, zatímco příkazy DML se zabývají skutečnými daty. Nechť to je, proč se prostě odchylujeme od tématu „Rozdíl mezi zkrácením a smazáním“? Existují důvody, proč jsme hovořili o DML a DDL. Tomu byste rozuměli v nadcházející diskusi.

Co je příkaz zkrácení?

Účelem příkazu zkrátit je odstranit celou tabulku. Když tedy použijete příkaz Zkrátit, ztratíte všechna data v tabulce a měli byste být při používání opatrní. Dejte nám vědět, jak ji používat.

Syntaxe zkrácení:

TRUNCATE TABLE název tabulky;

Zde byste měli určit název tabulky, která by měla být celkově odstraněna. Tím je zajištěno, že v paměťovém prostoru bude nějaký stůl. Zde je příklad použití funkce Truncate.

Níže je tabulka „zaměstnanců“ a stačí se podívat na řádky dat v ní.

emp-id emp-name označení
1011 Zvedák Úředník
1012 Růžový Správce
1014 Nancy Finance

Nyní vydejme níže uvedený příkaz na tabulku zaměstnanců.

TRUNCATE TABLE zaměstnanec;

Zde je výsledkem výše uvedené syntaxe a v ní nejsou žádná data.

emp-id emp-name označení

Co je to příkaz Odstranit?

Účelem příkazu Odstranit je odebrat zadané řádky z tabulky. Zde se zde používá klauzule 'Where' k určení řádků, které je třeba odstranit. Pokud neurčíme řádky, příkaz odstraní všechny řádky v tabulce. Stačí se podívat na jeho syntaxi.

ODSTRANIT OD zaměstnanec;

Výše uvedená syntaxe odstraní všechny řádky z tabulky „zaměstnanec“. Výsledná tabulka by tedy neobsahovala žádná data.

ODSTRANIT OD zaměstnanec KDE emp-id = 1011;

Tento příkaz pouze odstraní jediný řádek, jehož emp-id je 1011. Výsledná tabulka by tedy byla níže.

emp-id emp-name označení
1012 Růžový Správce
1014 Nancy Finance

Rozdíly:

  • Zkrátit je DDL; Smazat je soubor DML: Diskutovali jsme výše o tom, jak DDL a DML fungují v naší výše uvedené diskusi. Příkaz Zkrátit je DDL a pracuje na úrovni datové struktury. Odstranit je však příkaz DML a pracuje na datech tabulky. Dalšími příklady DDL jsou CREATE a ALTER. Podobným způsobem bychom mohli říci, že příkazy jako SELECT, UPDATE a INSERT jsou perfektními příklady pro DML..
  • Jak funguje zkrácení a smazání: Jakmile vydáme příkaz Zkrátit, hledá pouze zadanou tabulku. Poté zcela odstraní všechna data z paměti. Pracovní postup se však v případě smazání trochu liší. Zde se původní data tabulky zkopírují do prostoru nazvaného „Roll back“ space před provedením skutečné manipulace s daty. Poté se provedou změny v datovém prostoru skutečné tabulky. Oba se tedy liší způsobem, jakým pracují.

Zkraťte -> odstranit všechna data z tabulky -> Tabulka je nyní uvolněna.

Odstranit -> Zkopírujte původní data tabulky do Roll Back space -> smažte zadaná data / celou tabulku -> Table table je volný, ale Roll Back space je vyplněn.

  • Vrátit zpět: Vrácení zpět je v našem příslušenství společnosti Microsoft jako příkaz Zpět. Používá se ke zrušení změn, které jsme nedávno provedli, tj. Od posledního uloženého bodu. Pro provedení operace by měla být data před úpravou zkopírována do prostoru Roll Back. Ačkoli tyto zpětné vrácení vyžadují další paměť, jsou velmi užitečné pro návrat k původnímu. Obzvláště když omylem editujete! Pojďme k Truncate a Delete s ohledem na Roll zpět. Jak jsme diskutovali výše, Truncate nikdy nepoužívá zpětný prostor a nemohli jsme se vrátit k původním datům. Příkaz Smazat však používá zpětný prostor a my bychom mohli použít buď 'Commit' nebo 'RollBack' pro přijetí nebo zrušení změn, resp..
  • Spouštěče: Pro ty, kteří potřebují vysvětlení spouštěčů, je tu malá poznámka. Spouštěče jsou předdefinovaná sada operací / operací, které by měly být aktivovány, když tabulka narazí na konkrétní podmínku. Mohli bychom například spustit změnu výše platu, pokud má zaměstnanec zkušenosti se společností více než rok. Tyto spouštěče mohou fungovat i na jiných tabulkách. Mohli bychom například aktualizovat finanční tabulku, jakmile bude zaměstnancům dosaženo zvýšení platu.

Zkrátit je příkaz DDL, spouštěč zde není povolen. Ale Odstranit je příkaz DML, zde jsou povoleny spouštěče.

  • Což je rychlejší? Jak jste uhodli, příkaz Truncate by byl rychlejší než příkaz Delete. První z nich by mohl odstranit všechna data a není třeba kontrolovat shodu podmínek. Rovněž původní data nejsou zkopírována do prostoru pro vrácení zpět, což šetří spoustu času. Díky těmto dvěma faktorům bude funkce Truncate pracovat rychleji než funkce Odstranit.
  • Mohli bychom použít klauzuli WHERE? Klauzule 'Where' se používá ke specifikaci určitých podmínek shody a není o ničem s Truncate. Protože aplikace Truncate nikdy nehledá žádné odpovídající podmínky a pouze odstraní všechny řádky, nemohli bychom zde použít klauzuli 'Where'. Vždy jsme však mohli určit podmínku pomocí klauzule 'where' v příkazu Delete.
  • Která zabírá více místa? Zkrácení nebude používat zpětný prostor a uloží tuto paměť. Odstranění však vyžaduje zálohu ve formě Rollback prostoru, a proto vyžaduje více paměti než zkrácení.

To jsou rozdíly a podívejme se na tabulkovou formu.

S. Ne Rozdíly v Zkraťte Odstranit
1. DDL nebo DML? Je to DDL a pracuje na úrovni datové struktury. Dalšími příklady DDL jsou CREATE a ALTER. Je to příkaz DML a pracuje na datech tabulky. DML je zkratka pro Data Manipulation Language. Příkazy jako SELECT, UPDATE a INSERT jsou perfektními příklady pro DML. DML je zkratka pro Data Manipulation Language.

2. Jak to funguje? Jakmile vydáme příkaz Zkrátit, hledá pouze zadanou tabulku. Poté zcela odstraní všechna data z paměti. Zde se původní data tabulky zkopírují do prostoru nazvaného „Roll back“ space před provedením skutečné manipulace s daty. Poté se provedou změny v datovém prostoru skutečné tabulky.
3. RollBack Příkaz Zkrátit nikdy nepoužívá návratový prostor a nemohli jsme se vrátit zpět k původním datům. Prostor pro vrácení je exkluzivní a je obsazen, když jsou vydány příkazy DML. Příkaz Odstranit používá zpětný prostor a my bychom mohli použít buď 'Commit' nebo 'RollBack' pro přijetí nebo zrušení změn, resp..

4. Spouštěče Zkrátit je příkaz DDL, spouštěče nejsou povoleny. Smazat je příkaz DML, zde jsou povoleny spouštěče.

5. Což je rychlejší? Mohlo by to odstranit všechna data a není třeba kontrolovat shodu podmínek. Rovněž původní data nejsou zkopírována do prostoru pro vrácení zpět, což šetří spoustu času. Díky těmto dvěma faktorům bude funkce Truncate pracovat rychleji než funkce Odstranit.

Využívá prostor pro vrácení zpět a v něm musí být vždy zachována původní data. To je další břemeno a zase to zabere mnohem více času než Truncate.
6. Mohli bychom použít klauzuli WHERE? Protože funkce Truncate nikdy nehledá žádné odpovídající podmínky a pouze odstraní všechny řádky, nemohli bychom zde použít klauzuli 'Where'. Vždy jsme však mohli určit podmínku pomocí klauzule 'where' v příkazu Delete.
7. Která zabírá více místa? Zkrácení nebude používat zpětný prostor a uloží tuto paměť. Potřebuje zálohu ve formě Rollback prostoru, a proto vyžaduje více paměti než zkrácení.

Poznání rozdílů mezi libovolnými dvěma entitami rozšiřuje znalosti o obou! Přistáli jste na správné cestě, tj. Na webové stránce, abyste pochopili rozdíly, zejména mezi příkazy zkrácení a smazání. Doufám, že nyní máte jasné jeho rozdíly a dejte nám vědět, pokud jsme vám pomohli porozumět. Můžete nám také pomoci poukázat na to, co zbylo!