mysql delete statement delete command syntax
V tomto výučbe sa dozviete, ako používať príkaz DELETE MySQL na odstránenie údajov z tabuľky alebo na odstránenie celej tabuľky a rozdiel medzi príkazmi Orezať a Odstrániť:
V MySQL je DELETE jazyk pre manipuláciu s dátami alebo DML, ako vieme.
Ako už samotný názov napovedá, príkaz sa používa na mazanie riadkov z tabuľky. Pomocou tohto príkazu môžeme vymazať jeden alebo viac nechcených riadkov v jednej transakcii. Existuje niekoľko spôsobov, ako odstrániť záznamy z tabuľky pomocou príkazu DELETE.
ako otvoriť binárny súbor
V tomto výučbe si podrobne rozoberieme všetky tieto záležitosti spolu s jednoduchými príkladmi.
Čo sa dozviete:
- Príkaz MySQL DELETE
- Rozdiel medzi príkazmi TRUNCATE A DELETE
- Referenčná integrita a jej vplyv na DELETE
- Často kladené otázky a odpovede
- Záver
Príkaz MySQL DELETE
Než budeme pokračovať, je treba mať na pamäti dôležitý faktor. Akýkoľvek riadok alebo viac riadkov, ktoré vymažeme pomocou príkazu DELETE, sa nikdy nedajú získať.
Preto, aby sa zabránilo scenárom, v ktorých je riadok odstránený omylom, je vhodné pred vykonaním príkazu DELETE vytvoriť zálohu tabuľky. Túto zálohu môžeme neskôr použiť na obnovenie tabuľky v prípade akýchkoľvek chýb.
Poznámka: Používame MySQL verzie 8.0. Môžete si ho stiahnuť z tu .
Syntax odstránenia MySQL:
DELETE (LOW_PRIORITY) (QUICK) (IGNORE) FROM tablename(.*) (, tablename(.*)) (WHERE condition) (ORDER BY) (LIMIT row_count) ;
Vysvetlenie syntaxe:
- Syntax začína kľúčovým slovom „DELETE FROM“, čím informuje server MySQL o type činnosti, ktorá sa má vykonať. Toto je povinné kľúčové slovo a nemožno ho vynechať.
- Ďalej nasleduje názov tabuľky, v ktorej sa má vykonať operácia DELETE. Toto je tiež povinné a nemožno ho vynechať. Môžeme tu spomenúť jeden alebo viac názvov tabuliek.
- Ďalej môžeme spomenúť každú podmienku, ktorá riadi oprávnenosť riadkov, ktoré sa majú vymazať. Toto je voliteľná doložka. Kľúčové slovo je tu WHERE.
- Za klauzulou WHERE nasleduje klauzula ORDER BY, ktorá vynúti odstránenie stĺpcov v konkrétnom poradí, a to vzostupne alebo zostupne, v stĺpcoch. Toto je voliteľná doložka.
- Klauzula LIMIT sa riadi klauzulou ORDER BY. Stanovuje obmedzenie počtu riadkov, ktoré môže príkaz DELETE z tabuľky odstrániť.
Modifikátory vo vyhlásení DELETE
# 1) LOW_PRIORITY:
Tento modifikátor informuje MySQL Engine o odložení vykonania príkazu DELETE do času, keď z tabuľky nie sú čítané žiadne spojenia, z ktorých sa pokúšame VYMAZAŤ.
To pomáha pri dosahovaní konzistencie vo všetkých ostatných operáciách, ktoré sa na tejto tabuľke vykonajú. To tiež pomáha predchádzať problémom so zamknutím tabuľky.
# 2) RÝCHLO:
Kedykoľvek odstránime riadok, vymaže sa aj príslušný index. Opätovné získanie priestoru v čase vykonania príkazu DELETE spotrebuje čas procesora. Ak použijeme kľúčové slovo QUICK, potom zodpovedajúci indexový priestor zostane nevyužitý a je možné ho využiť pri vkladaní nových záznamov vyhovujúcich rozsahu indexov, ktorý bol predtým vymazaný.
Napríklad, zvážte tabuľku zamestnancov, kde ID zamestnanca je index. Kedykoľvek zamestnanec opustí organizáciu, musíme vymazať zodpovedajúci záznam. Ak použijeme klauzulu QUICK, potom zodpovedajúci indexový priestor zostane nevyužitý.
Keď sa pripojí nový zamestnanec, získa nové číslo zamestnanca a nie rovnaké číslo osoby, ktorá odišla. V takýchto príkladoch nie je vhodné používať QUICK.
Príklad odstránenia MYSQL
Ďalej je uvedená vzorová tabuľka vytvorená v MYSQL.
Názov schémy: mierumilovný
Názov tabuľky: zamestnancov
Názvy stĺpcov:
empNum; Obsahuje celočíselné hodnoty pre číslo zamestnanca.
priezvisko: Zadržiava hodnoty varchar pre priezvisko zamestnanca.
krstné meno: Zadržiava hodnoty varchar pre krstné meno zamestnanca.
e-mail: Zadržuje hodnoty varchar pre e-mailovú identifikáciu zamestnanca.
deptNum; Drží varchar pre ID oddelenia, ku ktorému patrí zamestnanec.
plat: Obsahuje desatinné hodnoty platu každého zamestnanca.
dátum začiatku: Zachováva hodnoty dátumu pre dátum spojenia zamestnanca.
Názov schémy: mierumilovný
Názov tabuľky: história zamestnancov
Názvy stĺpcov:
empNum; Zadržiava celočíselné hodnoty pre číslo zamestnanca.
priezvisko: Zadržiava hodnoty varchar pre priezvisko zamestnanca.
krstné meno: Zadržiava hodnoty varchar pre krstné meno zamestnanca.
e-mail: Zadržuje hodnoty varchar pre e-mailovú identifikáciu zamestnanca.
deptNum; Drží varchar pre ID oddelenia, ku ktorému patrí zamestnanec.
plat: Obsahuje desatinné hodnoty platu každého zamestnanca.
dátum začiatku: Zadržuje hodnoty dátumu pre dátum spojenia zamestnanca.
Názov schémy: mierumilovný
Názov tabuľky: oddelenia
Názvy stĺpcov:
deptNum; Drží varchar pre ID oddelenia v organizácii.
mesto: Je v ňom názov mesta, z ktorého oddelenia pracujú.
krajina: Obsahuje názov krajiny zodpovedajúci mestu.
bonus: Drží percentuálnu hodnotu bonusu.
MySQL Odstrániť jeden riadok
Prvý a ľahší spôsob mazania záznamov z tabuľky pri mazaní záznamov jeden po druhom pomocou veľmi silnej klauzuly WHERE, ktorá zaisťuje odstránenie iba jedného vhodného záznamu. To by sa dalo ďalej použiť na odstránenie množiny podobných druhov riadkov z tabuľky.
Prejdime si podrobne vyhlásenie o odstránení a jeho vykonanie.
Tu sa pokúsime odstrániť zamestnanca menom „Chris Nolan“ s číslom zamestnanca 1013.
Ako je znázornené na obrázku vyššie, príkaz DELETE bol úspešne vykonaný a odstránil jeden riadok z tabuľky zamestnanca.
The výkon vyhlásenie nižšie zobrazuje čas, kedy bol príkaz vykonaný, vykonaný príkaz MySQL a počet ovplyvnených riadkov.
Prosím, buďte si veľmi istí, o klauzule WHERE tu. Ak je klauzula WHERE nesprávna alebo ak vám chýba klauzula WHERE, môže to mať za následok stratu údajov. Aby sa takýmto situáciám predišlo, pri výrobe sa vyžaduje pravidelné zálohovanie alebo uvoľňovanie údajov.
Na overenie výstupu tohto príkazu DELETE vykonajme príkaz SELECT v tejto tabuľke s číslom empNum ako 1013.
Výstupné výsledky ukazujú hodnotu NULL pre všetky stĺpce, čo znamená, že pre takéto empNum neexistuje žiadny záznam. Výstup dotazu nižšie ukazuje, že sa vrátili 0 riadky, čo znamená, že záznam bol vymazaný vykonaním vyššie uvedeného príkazu DELETE.
Dopyt:
DELETE FROM employees WHERE empNum = 1013 ;
Snímka tabuľky po:
empNum | priezvisko | krstné meno | odd | Plat | |
---|---|---|---|---|---|
7 | V porovnaní s odstránením celých údajov z tabuľky je to relatívne spomalené ako TRUNCATE. | To je v porovnaní s programom DELETE pri odstránení celých údajov z tabuľky relatívne rýchlejšie. | |||
NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ |
MySQL ODSTRÁNENIE pomocou klauzuly ORDER BY A LIMIT
ORDER BY a LIMIT sú dve doložky, o ktorých sme hovorili vyššie. Prvý z nich pomáha pri rozhodovaní o poradí, v ktorom by sa mali záznamy vyčistiť, buď odstrániť záznamy s empNum vzostupne, alebo odstrániť záznamy s platom zostupne. Druhá možnosť pomáha pri obmedzení počtu záznamov, ktoré môže táto transakcia vymazať.
Napríklad, ak chceme vymazať iba 2 zamestnancov patriacich k odd. číslo 4, ktorí sú príjemcami vysokých platov. Potom má tento dopyt tri časti.
- Najprv, musíme zamestnancov očistiť od oddelenia číslo 4. Toto bude riešiť klauzula WHERE.
- Ďalšie, musíme očistiť zamestnancov, ktorí zarábajú vysoké platy. To bude riešiť zostava ORDER BY v stĺpci plat.
- Nakoniec musíme očistiť iba dvoch zamestnancov. To bude riešiť klauzula LIMIT.
Poďme sa pozrieť na dotaz DELETE a pozrieť sa na výsledky. Predtým, ako to urobíme, najskôr identifikujeme presné záznamy, ktoré chceme odstrániť. Vyššie uvedené podmienky použijeme s príkazom SELECT na získanie záznamov, ktoré chceme vymazať, a na vykonanie rovnakého dotazu, aby sme overili, či boli alebo neboli vymazané.
Vo vyššie uvedenom dotaze SELECT sme splnili všetky tri podmienky, o ktorých sme hovorili vyššie pomocou klauzuly WHERE, ORDER BY a LIMIT. Dotaz nám poskytol 2 záznamy, jeden s empNum 1010 a druhý s 1007. Teraz vykonáme dotaz DELETE, aby sme sa ubezpečili, že sú tieto dva záznamy vymazané.
Ako je znázornené na obrázku vyššie, príkaz DELETE sa úspešne vykonal a odstránil dva riadky z tabuľky zamestnanca. The výkon vyhlásenie nižšie zobrazuje čas, kedy bol príkaz vykonaný, vykonaný príkaz MySQL a počet ovplyvnených riadkov.
Aby sme overili výstup tohto príkazu DELETE, urobme príkaz SELECT pre empNum 1010 a 1007. Nemôžeme použiť rovnaký dotaz SELECT, aký sa použil vyššie, aký by sa zobrazil ostatným zamestnancom pod deptNum 4.
Výstupné výsledky ukazujú hodnotu NULL pre všetky stĺpce, čo znamená, že pre tieto počty zamestnancov neexistuje žiadny záznam. The Výkon dotazu nižšie ukazuje, že sa vrátilo 0 riadkov, čo znamená, že záznam bol vymazaný vykonaním vyššie uvedeného príkazu DELETE.
Dopyt:
DELETE FROM employees WHERE deptNum = 4 ORDER BY salary DESC LIMIT 2 ;
Snímka tabuľky po:
empNum | priezvisko | krstné meno | odd | Plat | |
---|---|---|---|---|---|
NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ |
MySQL DELETE pomocou klauzuly Select
Ďalej si prejdeme použitie klauzuly SELECT pri mazaní záznamov z jednej tabuľky.
Zvážte nasledujúci scenár:
Máme dve sady tabuliek: zamestnanci a oddelenia. deptNum je ako primárny kľúč v tabuľke oddelenia a cudzí kľúč v tabuľke zamestnancov. To znamená, že ak je zamestnancovi pridelené oddelenie, potom musí byť z jedného z oddelení v tabuľke oddelení.
Teraz musíme odstrániť tie záznamy z tabuľky oddelenia, kde doteraz nebol pridelený žiadny zamestnanec. Môžeme to urobiť tak, že v poddotazu dotazu DELETE budeme mať klauzulu SELECT.
Najprv identifikujeme záznamy, ktoré chceme odstrániť:
Vyššie uvedený dotaz SELECT má poddotaz.
Fungovanie dotazu je nasledovné:
Dotaz stiahne všetky záznamy z tabuľky oddelenia, kde deptNum neexistuje v tabuľke zamestnanca. Spojenie sa vykonáva v sub-dotaze na deptNum dvoch tabuliek.
Teraz spustíme dotaz DELETE a uvidíme, či môžeme tieto dva záznamy vymazať z tabuľky oddelenia, pretože k týmto oddeleniam nie je priradený žiadny zamestnanec.
Ako je znázornené na obrázku vyššie, príkazom na odstránenie boli z tabuliek oddelení odstránené 2 riadky, ku ktorým nebol priradený žiadny zamestnanec.
Aby sme mohli overiť výstup tohto príkazu DELETE, urobme v tabuľke príkaz SELECT a pozrime sa, čo máme vo výstupe.
Vo výstupnej správe vyššie uvedeného overovacieho dotazu je uvedené „Vrátené 0 riadky“. To znamená, že riadky s deptNum 6 a 7 sú vymazané. Výstup tiež nezobrazuje žiadne záznamy, ale zobrazuje hodnoty NULL, pretože záznamy boli odstránené.
Dopyt:
DELETE FROM departments WHERE NOT EXISTS (SELECT deptNum FROM employees WHERE departments.deptNum = employees.deptNum ) ;
MySQL ODSTRÁNIŤ celé údaje z tabuľky
Ďalej sa pozrieme na scenár, v ktorom musíme vymazať všetky riadky alebo záznamy z tabuľky.
V produkčnej situácii sa s takouto situáciou nikdy nestretnete. Ale tento typ vecí by sa vyžadoval v oblasti vývoja, kde musíte otestovať svoj kód pomocou viacerých rôznych scenárov a možno budete chcieť znova vytvoriť novú sadu testovacích údajov odstránením záznamov existujúcich v tabuľke.
Najskôr sa pozrime na údaje, ktoré máme v úmysle vymazať. Pokúsime sa vymazať údaje z tabuľky zamestnanci_história.
rozdiel medzi c ++ a javou
Nižšie sú uvedené aktuálne existujúce údaje v tabuľke.
Tu máme 18 riadkov v tabuľke zamestnanci_história. Teraz poďme a všetky tieto položky odstránime v jednej transakcii. Dotaz je takmer podobný tomu, o ktorom sme hovorili v prvej časti. Jedinou zmenou je, že musíme z dotazu odstrániť klauzulu WHERE, aby neexistovalo žiadne obmedzenie počtu riadkov, ktoré chceme vymazať.
Ako je znázornené na obrázku vyššie, príkaz na odstránenie bol úspešne vykonaný a všetkých 18 riadkov bolo odstránených z tabuľky zamestnanci_história. Nasledujúci výstupný výkaz zobrazuje čas, kedy bol príkaz vykonaný, vykonaný príkaz MySQL a počet ovplyvnených riadkov.
Aby sme mohli overiť výstup tohto príkazu DELETE, urobme v tabuľke príkaz SELECT a pozrime sa, čo máme vo výstupe.
Výstupné výsledky ukazujú hodnotu NULL pre všetky stĺpce, čo znamená, že pre tieto počty zamestnancov neexistuje žiadny záznam. Výstup nižšie uvedeného dotazu ukazuje, že sa vrátili 0 riadky, čo znamená, že vykonaním vyššie uvedeného príkazu DELETE boli odstránené všetky záznamy.
Dopyt:
DELETE FROM employees_history ;
Snímka tabuľky po:
empNum | priezvisko | krstné meno | odd | Plat | |
---|---|---|---|---|---|
NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ | NULOVÝ |
Celá tabuľka MySQL DELETE
Teraz sa pozrieme na scenár, keď musíme samotnú tabuľku vymazať. Z hľadiska jazyka SQL to nazývame DROP the table. Nezáleží na tom, či tabuľka obsahuje nejaké údaje alebo nie. Jednoducho zruší tabuľku spolu s údajmi, ak existujú.
V predchádzajúcej časti sme odstránili údaje z tabuľky zamestnanci_história. V tejto časti vypustíme samotnú tabuľku zamestnanci_história.
Nasleduje príkaz spolu s jeho výstupom:
Ako je znázornené na obrázku vyššie, príkaz DROP bol úspešne vykonaný a tabuľka zamestnanci_história bola odstránená zo systémového katalógu databázy MySQL.
Ak sa na správu pozriete, zobrazí sa „Ovplyvnené 0 riadky“. Je to tak preto, lebo sme z predchádzajúcej časti odstránili všetkých 18 riadkov. Ak by táto tabuľka mala nejaké riadky, potom by to malo vplyv na tieto počty riadkov, čo znamená odstránené.
Aby sme mohli overiť výstup tohto príkazu DROP, urobme v tabuľke príkaz SELECT a pozrime sa, čo vo výstupe máme.
Výstupná správa vyššie uvedeného overovacieho dotazu hovorí, že tabuľka neexistuje. Toto potvrdzuje naše vykonanie vyššie uvedeného príkazu DROP na zrušenie tabuľky.
Dopyt:
DROP TABLE employees_history ;
Príkaz MySQL Truncate
O odstránení všetkých záznamov z tabuľky sme už hovorili pomocou príkazu DELETE. To isté je možné dosiahnuť aj pomocou príkazu TRUNCATE.
V tomto príklade poďme znovu vytvoriť tabuľku zamestnancov_história a znova ju naplniť údajmi. T Nasledujú dva dotazy, ktoré boli vykonané na opätovné vytvorenie tabuľky a jej opätovné vyplnenie:
Dopyt:
CREATE TABLE employees_history LIKE employees ; INSERT INTO employees_history (SELECT * FROM employees) ;
Takto teraz vyzerá tabuľka zamestnanci_história s údajmi.
Ďalej z príkazu TRUNCATE odstránime všetky záznamy z tejto tabuľky.
Ako je znázornené na obrázku, dopyt je úspešne vykonaný. Ak sa podrobne pozriete na časť „Správa“, zistíte, že sa v nej zobrazuje „Ovplyvnené 0 riadky“. Vieme však, že táto tabuľka má v sebe 15 riadkov. Ako je potom možné, že relácie sú nulové?
Dôvod: Príkaz Skrátiť sa nezaujíma o to, koľko riadkov je ovplyvnených jeho vykonaním. Jednoducho vyprázdni stôl. Toto je jeden z významných rozdielov medzi príkazmi DELETE a TRUNCATE.
Poďme si overiť vykonanie príkazu TRUNCATE vykonaním dotazu SELECT v tabuľke zamestnanci_história.
Ako je znázornené na obrázku vyššie, dotaz nevrátil žiadne riadky a tiež všetky stĺpce zobrazujú hodnoty NULL, čo znamená, že príkaz TRUNCATE, ktorý sme vykonali skôr, odstránil všetky záznamy z tabuľky.
Dopyt:
TRUNCATE TABLE employees_history ;
Rozdiel medzi príkazmi TRUNCATE A DELETE
Pán č | ODSTRÁNIŤ | OCELIŤ |
---|---|---|
1 | Je to jazyk DML (Data Manipulation Language). | Je to DDL (Data Definition Language). |
dva | Akýkoľvek spúšťač AFTER DELETE v tabuľke sa aktivuje, keď použijeme príkaz DELETE. | Pri použití príkazu TRUNCATE sa neaktivuje žiadny spúšťač AFTER DELETE na stole. |
3 | Záznam je možné vymazať, aj keď existujú obmedzenia cudzieho kľúča. | Záznamy z tabuľky nemožno skrátiť, ak existujú obmedzenia cudzieho kľúča. |
4 | K opätovnej inicializácii tabuľky nedôjde. | Tabuľka bude znovu intializovaná. |
5 | Môže sa použiť klauzula WHERE. | Klauzulu WHERE nie je možné použiť. |
6 | Týmto sa vymaže jeden záznam naraz a zaznamená sa celkový počet odstránených záznamov v denníkoch. | Vyčistí všetky záznamy naraz a nesleduje počet odstránených záznamov. |
Referenčná integrita a jej vplyv na DELETE
Než budeme, pozrime sa čo je referenčná integrita alebo obmedzenia RI alebo cudzieho kľúča?
Obmedzenia cudzieho kľúča sa týkajú vytvorenia vzťahu alebo prepojenia medzi nadradenou a podradenou tabuľkou. To pomáha pri krížových odkazoch na údaje v tabuľkách, ktoré sú navzájom prepojené. Jeden nadradený stôl môže mať viac podradených tabuliek a naopak.
Napríklad, dve tabuľky, o ktorých sme doteraz diskutovali, t. j. zamestnanci a oddelenia, sú navzájom prepojené pomocou obmedzenia cudzieho kľúča. Toto obmedzenie sa vytvorí vytvorením jedného stĺpca, zvyčajne primárneho kľúča, ako stĺpca kľúča spájajúceho dve tabuľky.
Stĺpec deptNum v tabuľke oddelenia bol prepojený so stĺpcom deptNum v tabuľke zamestnanca. V tomto prípade sú oddelenia nadradenou tabuľkou a zamestnanci sú podradenou tabuľkou.
Ako to ale ovplyvní príkazy DELETE?
V MySQL alebo v ľubovoľnej databáze existujú určité scenáre, ktoré je potrebné spracovať pri odstraňovaní záznamov z nadradenej alebo podradenej tabuľky.
prevodník z youtube na wav zadarmo online
Existuje niekoľko možností referencie, o ktorých môžeme diskutovať:
# 1) NA VYMAZANIE KASKÁDY: Pravidlo hovorí, že nemôžeme odstrániť riadok z nadradenej tabuľky, ak má nejaké odkazy alebo má zodpovedajúci riadok v ktorejkoľvek z podradených tabuliek. Ak má však nadradená tabuľka pomerne veľa podradených tabuliek, je únavnou úlohou najskôr odstrániť záznamy z každej podradenej tabuľky a potom z nadradenej tabuľky.
Pre toto existuje riešenie s názvom ON DELETE CASCADE. Toto je jedna klauzula, ktorá sa pridáva do príkazu CREATE každej z podradených tabuliek. Takže, kedykoľvek hovoríme o odstránení riadku z nadradenej tabuľky, potom MySQL engine najskôr identifikuje odkazy na tento riadok v podradených tabuľkách a tieto záznamy odstráni a nakoniec záznam z nadradenej tabuľky vymaže.
# 2) ŽIADNA AKCIA: Toto je predvolená možnosť. Ak sa vykonanie príkazu DELETE pokúsi vymazať záznam, ktorý má odkazy v ktorejkoľvek z podradených tabuliek, potom s touto voľbou sa vykonanie príkazu zastaví a MySQL transakcia sa vráti späť k poslednému bodu potvrdenia.
# 3) OBMEDZENIE: Fungovanie OBMEDZENIA a ŽIADNE AKCIE sú rovnaké. Zastaví vykonávanie a vydá vrátenie zmien.
# 4) NASTAVIŤ NULL: Ak sa vykonanie príkazu delete pokúsi vymazať záznam, ktorý má odkazy v ktorejkoľvek z podradených tabuliek, potom táto možnosť aktualizuje hodnotu stĺpca vo všetkých podradených tabuľkách na hodnotu NULL a po dokončení bude záznam odstránený z nadradenej tabuľky stôl.
# 5) NASTAVENIE VÝCHODISKA: Ak sa vykonanie príkazu DELETE pokúsi vymazať záznam, ktorý má odkazy v ktorejkoľvek z podradených tabuliek, potom táto možnosť aktualizuje hodnoty stĺpcov na predvolenú hodnotu, ako je definované v príkaze CREATE tabuľky.
Často kladené otázky a odpovede
Otázka č. 1) Ako odstrániť údaje z tabuľky v MySQL?
Odpoveď: Syntax príkazu na odstránenie iba jedného vybratého riadku údajov je uvedená nižšie.
DELETE FROM table_name WHERE condition;
Otázka 2) Ako odstrániť všetky údaje z tabuľky v MySQL?
Odpoveď: Syntax príkazu DELETE na odstránenie všetkých riadkov z tabuľky je:
DELETE * FROM table_name;
Otázka č. 3) Ako odstrániť tabuľku z databázy v MySQL?
Odpoveď: Príkaz drop je možné použiť na odstránenie tabuľky z databázy. Užívateľ môže nahradiť table_name tabuľkou, ktorú je potrebné vymazať.
DROP TABLE table_name;
Otázka č. 4) Ako odstrániť databázu v MySQL?
Odpoveď: Príkaz drop je možné použiť na vymazanie databázy.
DROP Database db_name;
Užívatelia môžu nahradiť db_name názvom databázy, ktorý je potrebné vymazať.
Otázka č. 5) Čo je ON DELETE CASCADE v MySQL?
Odpoveď: Po odstránení nadradeného záznamu vytvorí funkcia ON DELETE CASCADE zodpovedajúci podradený záznam, ktorý sa má odstrániť. Účinok delécie je teda kaskádový od rodiča k dieťaťu. To môže byť užitočné pri mazaní viacerých tabuliek.
Otázka č. 6) Prečo sa funkcia TRUNCATE považuje za vyhlásenie DDL?
Odpoveď: Príkaz TRUNCATE skutočne upustí a znovu vytvorí tabuľku spolu s metadátami tabuľky. Ide teda o vyhlásenie DDL.
Otázka č. 7) Je možné TRUNCATE vrátiť späť?
Odpoveď: Nie, TRUNCATE je príkaz automatického potvrdenia, ak je vykonaný samostatne. To znamená, že ho nie je možné vrátiť späť, pretože spolu s ním sa vykonáva aj potvrdenie. Ak je však súčasťou transakcie, je možné ju vrátiť späť pomocou súborov protokolu SQL.
Otázka č. 8) Je možné príkazy DELETE vrátiť späť?
Odpoveď: Áno, príkazy DELETE je možné vrátiť späť. Pred vykonaním príkazu COMMIT stačí vykonať príkaz ROLLBACK.
Otázka č. 9) Môže sa stĺpec vymazať pomocou príkazu DELETE?
Odpoveď: Pridanie alebo odstránenie stĺpca sú príkazy DDL. Príkaz ALTER by sa mal použiť na DROP stĺpca z tabuľky.
Záver
V tomto tutoriáli sme sa naučili rôzne spôsoby vykonávania príkazov DELETE v MySQL.
Stručne povedané, videli sme:
- MySQL Odstrániť jeden riadok
- Vymazanie MySQL pomocou OBJEDNÁVKY BY a obmedzenej doložky
- Vymazanie MySQL pomocou klauzuly Select
- MySQL Odstrániť celú tabuľku
- Skrátiť MySQL
- Rozdiel medzi príkazmi TRUNCATE a DELETE
- Referenčná integrita a jej dopady na DELETE
Na základe požiadavky môžeme použiť ktorékoľvek z vyššie uvedených spôsobov.
Príjemné čítanie !!
Odporúčané čítanie
- Syntax príkazov Unix Cat, možnosti s príkladmi
- Unixový príkaz na triedenie so syntaxou, možnosťami a príkladmi
- MySQL Vložiť do tabuľky - Vložiť syntax príkazov a príklady
- Aktualizácia MongoDB a odstránenie dokumentu s príkladmi
- Vystrihnite príkaz v systéme Unix s príkladmi
- Noví / vymazaní operátorov v C ++ s príkladmi
- Výukový program pre vyhlásenie o aktualizácii MySQL - aktualizácia syntaxe dotazov a príklady
- Príkaz Ls v systéme Unix s príkladmi