V tomto tutoriálu se podíváme na příkaz DELETE v SQL, abychom zjistili, jak jej můžeme použít k odstranění existujícího řádku z tabulky.
DELETE výpis
Následující text ukazuje syntaxi příkazu DELETE v SQL:
VYMAZAT
Z
název_tabulky
KDE
stav;
Začneme klauzulí DELETE, abychom databázovému stroji sdělili, že si přejeme odstranit řádek nebo více řádků.
Poté zadáme název tabulky, ze které chceme řádky odstranit. Dále specifikujeme podmínku v klauzuli WHERE. Toto je důležitá klauzule, protože nám umožňuje zúžit, které konkrétní řádky chceme odstranit.
Pokud vynecháme klauzuli WHERE, příkaz odstraní všechny řádky ze zadané tabulky. Používejte opatrně.
Příkaz pak vrátí počet řádků, které jsou z tabulky odstraněny.
Vzorová tabulka
Než se pustíme do příkladů použití příkazu DELETE, vytvořte si základní tabulku pro demonstrační účely.
Příkaz CREATE TABLE je následující:
CREATE TABLE produkty (product_id INT PRIMARY KEY AUTO_INCREMENT,
název_produktu VARCHAR( 255 ),
kategorie VARCHAR( 255 ),
cena DECIMAL( 10 , 2 ),
množství INT,
expiration_date DATE,
čárový kód VELKÝ
);
Jakmile vytvoříme tabulku, můžeme do tabulky vložit ukázková data, jak je znázorněno v následujících příkazech vložení:
vložitdo
produkty (název_produktu,
kategorie,
cena,
Množství,
Datum spotřeby,
čárový kód)
hodnoty ( 'Kuchařská čepice 25 cm' ,
'pekařství' ,
24,67 ,
57 ,
'2023-09-09' ,
2854509564204 );
vložit
do
produkty (název_produktu,
kategorie,
cena,
Množství,
Datum spotřeby,
čárový kód)
hodnoty ( „Křepelčí vejce – konzerva“ ,
'spíž' ,
17,99 ,
67 ,
'2023-09-29' ,
1708039594250 );
vložit
do
produkty (název_produktu,
kategorie,
cena,
Množství,
Datum spotřeby,
čárový kód)
hodnoty ( 'Káva – vaječný likér capuccino' ,
'pekařství' ,
92,53 ,
10 ,
'2023-09-22' ,
8704051853058 );
vložit
do
produkty (název_produktu,
kategorie,
cena,
Množství,
Datum spotřeby,
čárový kód)
hodnoty ( 'Hruška - pichlavý' ,
'pekařství' ,
65,29 ,
48 ,
'2023-08-23' ,
5174927442238 );
vložit
do
produkty (název_produktu,
kategorie,
cena,
Množství,
Datum spotřeby,
čárový kód)
hodnoty ( 'Těstoviny - andělské vlasy' ,
'spíž' ,
48,38 ,
59 ,
'2023-08-05' ,
8008123704782 );
To by nám mělo poskytnout následující tabulku:
Příklad 1: Odstranění jednoho řádku
Nejzákladnější operací odstranění je odstranění jednoho řádku z tabulky. K tomu můžete použít sloupec s jedinečnou hodnotou, která identifikuje cílový řádek.
Pokud například chceme odstranit řádek „Vepřové – plec“, který má ID 9, můžeme použít klauzuli takto:
VYMAZATZ
produkty
KDE
product_id = 9 ;
To by mělo pouze odstranit řádek s ID číslem 9. Protože sloupec „product_id“ je primární klíč, měl by existovat pouze jeden řádek s touto hodnotou.
Příklad 2: Odstranění více řádků
Chcete-li odstranit více řádků, můžeme nastavit podmínku pro cílové řádky pomocí klauzule WHERE. Můžeme použít podmíněné operátory jako IN, NOT IN, LIKE atd.
Předpokládejme například, že chceme odstranit všechny řádky spíže a kategorie produkce. Dotaz můžeme použít následovně:
VYMAZATZ
produkty
KDE
kategorie IN ( 'vyrobit' , 'pekařství' );
To by mělo odpovídat hodnotám „produkovat“ a „pekárna“ ve sloupci „kategorie“ a odstranit všechny řádky, které této podmínce odpovídají.
Závěr
V tomto tutoriálu jsme se dozvěděli vše o příkazu DELETE, který nám umožňuje odstranit jeden nebo více řádků z dané databázové tabulky.