Príkaz MySQL DELETE sa používa na odstránenie záznamov z tabuľky MySQL, ktoré už v databáze nie sú potrebné. Tento dotaz v MySQL vymaže celý riadok z tabuľky a vytvorí počet odstránených riadkov . Umožňuje nám tiež odstrániť viac ako jeden záznam z tabuľky v rámci jedného dotazu, čo je výhodné pri odstraňovaní veľkého počtu záznamov z tabuľky. Pomocou príkazu delete môžeme údaje odstrániť aj na základe podmienok.
Po odstránení záznamov pomocou tohto dotazu ich už nie je možné obnoviť . Preto sa odporúča pred odstránením akýchkoľvek záznamov z tabuľky vytvorte zálohu vašej databázy . Zálohy databázy nám umožňujú obnoviť dáta kedykoľvek ich v budúcnosti budeme potrebovať.
Syntax:
jpa na jar
Nasleduje syntax, ktorá ilustruje, ako používať príkaz DELETE:
DELETE FROM table_name WHERE condition;
Vo vyššie uvedenom príkaze musíme najprv zadať názov tabuľky, z ktorej chceme vymazať údaje. Po druhé, musíme zadať podmienku vymazania záznamov v klauzule WHERE, ktorá je voliteľná. Ak do príkazu vynecháme klauzulu WHERE, tento dotaz odstráni celé záznamy z databázovej tabuľky.
Ak chceme odstrániť záznamy z viacerých tabuliek pomocou jedného dotazu DELETE, musíme pridať PRIPOJTE SA doložka s príkazom DELETE.
Ak chceme vymazať všetky záznamy z tabuľky bez toho, aby sme poznali počet odstránených riadkov, musíme použiť SKRAŤ TABUĽKU vyhlásenie, ktoré poskytuje lepší výkon.
Poďme pochopiť, ako funguje príkaz DELETE MySQL cez rôzne príklady.
Príklady príkazov MySQL DELETE
Tu budeme používať 'zamestnanci' a 'platba' tabuľky na demonštráciu príkazu DELETE. Predpokladajme, že tabuľky Zamestnanci a Platby obsahujú nasledujúce údaje:
Ak chceme vymazať zamestnanca, ktorého emp_id je 107 , mali by sme použiť príkaz DELETE s klauzulou WHERE. Pozrite si nižšie uvedený dotaz:
mysql> DELETE FROM Employees WHERE emp_id=107;
Po vykonaní dotazu vráti výstup ako na obrázku nižšie. Po odstránení záznamu overte tabuľku pomocou príkazu SELECT:
čo znamená google
Ak chceme vymazať všetky záznamy z tabuľky, nie je potrebné použiť klauzulu WHERE s príkazom DELETE. Pozrite si nižšie uvedený kód a výstup:
Vo vyššie uvedenom výstupe môžeme vidieť, že po odstránení všetkých riadkov bude tabuľka Zamestnanci prázdna. Znamená to, že vo vybratej tabuľke nie sú dostupné žiadne záznamy.
MySQL klauzula DELETE a LIMIT
Klauzula MySQL Limit sa používa na obmedzenie počtu vrátených riadkov zo sady výsledkov, a nie na načítanie celých záznamov v tabuľke. Niekedy chceme obmedziť počet riadkov, ktoré sa majú z tabuľky odstrániť; v takom prípade použijeme LIMIT doložka takto:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
Je potrebné poznamenať, že poradie riadkov v tabuľke MySQL nie je špecifikované. Preto by sme mali vždy používať ZORADIŤ PODĽA klauzulu pri používaní klauzuly LIMIT.
Napríklad , nasledujúci dotaz najprv zoradí zamestnancov podľa ich mien abecedne a vymaže prvých troch zamestnancov z tabuľky:
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
Poskytne nasledujúci výstup:
pyspark
MySQL klauzula DELETE a JOIN
Klauzula JOIN sa používa na pridanie dvoch alebo viacerých tabuliek v MySQL. Klauzulu JOIN pridáme s príkazom DELETE vždy, keď chceme vymazať záznamy z viacerých tabuliek v rámci jedného dotazu. Pozrite si nižšie uvedený dotaz:
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
Výkon:
Po vykonaní uvidíme výstup ako na obrázku nižšie:
Ak si chcete prečítať viac informácií o príkaze DELETE s klauzulou JOIN, kliknite tu .