PostgreSQL DELETE Řádek odpovídající 1/2 podmínce, příklad ukončení

V PostgreSQL se příkaz DELETE používá k odstranění jednoho nebo více záznamů z tabulky. Pokud chcete odstranit vybrané řádky z tabulky, PostgreSQL vám umožňuje kombinovat příkaz DELETE s klauzulí WHERE, jinak odstraní všechny záznamy.

V tomto tutoriálu PostgreSQL se naučíte následující:

Syntax

Příkaz DELETE přebírá níže uvedenou syntaxi: | _+_ |

Parametry

  • s dotazem : klauzule WITH nám umožňuje odkazovat na jeden nebo více poddotazů, na které má být odkazováno jménem v dotazu DELETE.
  • název tabulky : název tabulky, ze které mají být záznamy odstraněny.
  • alias : toto je náhrada za název cílové tabulky.
  • using-list: výrazy tabulky umožňující použití sloupců z jiných tabulek v klauzuli WHERE.
  • podmínky): volitelný. Jsou to podmínky, které musí být splněny, aby byly záznamy odstraněny. Pokud tato část není k dispozici, budou odstraněny všechny záznamy názvů tabulek.
  • název kurzoru : kurzor, který má být použit ve stavu KDE JE AKTUÁLNÍ. Poslední načtený řádek tímto kurzorem bude odstraněn.
  • výstup-výraz : výraz, který má být zpracován a vrácen příkazem DELETE po odstranění každého řádku.
  • název výstupu : název, který bude použit pro vrácený sloupec.

Všimněte si toho, že protože příkaz DELETE odstraní celý řádek, nemusíte zadávat názvy sloupců.

S jednou podmínkou

Příkaz DELETE lze použít s jedinou podmínkou. Podmínka je nastavena pomocí klauzule WHERE. Zvažte tabulku cen s následujícími údaji:

Cena

Vymažeme záznam s ID 4: | _+_ |

Výše uvedený příkaz odstraní záznamy, ve kterých je ID 4. Potvrdíme, zda bylo odstranění úspěšné:

Řádek s ID 4 byl odstraněn.

Se dvěma podmínkami

Příkaz PostgreSQL DELETE může mít dvě podmínky. Obě podmínky by měly být spojeny pomocí operátoru AND. Použijeme následující tabulku:

Cena:

Zvažte níže uvedený příklad: | _+_ |

Ve výše uvedeném příkazu odstraňujeme řádek, ve kterém je ID 3 a cena 300. Nyní můžeme dotazovat tabulku: | _+_ |

Tím se vrátí následující:

Záznam s id 3 a cenou 300 byl smazán.

Použití podmínky EXISTS

S podmínkou EXISTS můžete provést DELETE složitější. Někdy může být potřeba odstranit záznamy v jedné tabulce na základě záznamů v jiné tabulce.

Uvidíte, že klauzule FROM vám při provádění mazání neumožňuje vypsat záznamy z více než jedné tabulky, velmi užitečnou se stává klauzule EXISTS. Máme následující dvě tabulky:

Rezervovat:

Cena:

Poté můžeme spustit následující dotaz: | _+_ |

Výše uvedený příkaz odstraní z tabulky Kniha, kde existuje záznam v tabulce Cena s ID odpovídajícím ID tabulky a cena je nižší než 250.

Tabulka Kniha je nyní následující:

Záznam s ID 1 byl odstraněn.

Pomocí pgAdmin

Nyní se podívejme, jak lze tyto akce provádět pomocí pgAdmin.

S jednou podmínkou

Chcete -li dosáhnout stejného prostřednictvím pgAdmin, proveďte toto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigačním panelu vlevo klikněte na Databáze.
  2. Klikněte na Demo.

Krok 3) Zadejte dotaz do editoru dotazů: | _+_ |

Krok 4) Klikněte na tlačítko Provést.

Krok 5) Zkontrolujeme, zda bylo odstranění úspěšné:

Se dvěma podmínkami

Chcete -li dosáhnout stejného prostřednictvím pgAdmin, proveďte toto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigačním panelu vlevo klikněte na Databáze.
  2. Klikněte na Demo.

Krok 3) Zadejte dotaz do editoru dotazů: | _+_ |

Krok 4) Klikněte na tlačítko Provést.

Krok 5) Zkontrolujeme, zda bylo odstranění úspěšné:

Použití podmínky EXISTS

Chcete -li dosáhnout stejného prostřednictvím pgAdmin, proveďte toto:

Krok 1) Přihlaste se ke svému účtu pgAdmin.

Krok 2)

  1. Na navigačním panelu vlevo klikněte na Databáze.
  2. Klikněte na Demo.

Krok 3) Zadejte dotaz do editoru dotazů: | _+_ |

Krok 4) Klikněte na tlačítko Provést.

Krok 5) Zkontrolujeme, zda bylo odstranění úspěšné:

Souhrn:

  • Příkaz DELETE se používá k odstranění jednoho nebo více záznamů z tabulky.
  • Chcete -li z tabulky odstranit pouze vybrané řádky, můžete příkaz DELETE zkombinovat s klauzulí WHERE.
  • Pokud je klauzule DELETE použita bez klauzule WHERE, odstraní všechny záznamy z tabulky.
  • parametr název-tabulky vám umožňuje přidat název tabulky, ze které mají být záznamy odstraněny.
  • Můžeme použít příkaz DELETE s jednou podmínkou, zadanou pomocí klauzule WHERE.
  • Příkaz DELETE lze také použít se dvěma podmínkami uvedenými v klauzuli WHERE. Obě podmínky by měly být spojeny pomocí operátoru AND.
  • Podmínka EXISTS nám může pomoci odstranit záznamy z tabulky na základě záznamů jiné tabulky.

Stáhněte si databázi použitou v tomto kurzu