PostgreSQL Lekérdezés törlése (Sorok törlése a kijelölésből)
Lekérdezés törlése itt PostgreSQL
A Nyilatkozat törlése in PostgreSQL egy vagy több rekord törlésére szolgál egy táblából. Ha törölni szeretne, válasszon sorokat a táblázatból PostgreSQL lehetővé teszi a DELETE utasítás és a WHERE záradék kombinálását, különben az összes rekordot törölni fogja.
Postgres Delete Query Syntax
A DELETE utasítás az alábbi szintaxissal definiálható:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
paraméterek
- lekérdezéssel: a WITH záradék lehetővé teszi, hogy a DELETE lekérdezésben név szerint hivatkozzunk egy vagy több allekérdezésre.
- táblanév: annak a táblának a neve, amelyből a rekordokat törölni kell.
- álnév: ez helyettesíti a céltábla nevét.
- using-list: táblakifejezések, amelyek lehetővé teszik más táblák oszlopainak használatát a WHERE záradékban.
- körülmények): választható. Ezek azok a feltételek, amelyeknek teljesülniük kell a rekordok törléséhez. Ha ez a szakasz nincs megadva, az összes táblanév rekord törlődik.
- kurzornév: a WHERE CURRENT OF feltételben használandó kurzor. A kurzor által utoljára letöltött sor törlődik.
- kimenet-kifejezés: a DELETE utasítás által feldolgozandó és visszaadandó kifejezés minden sor törlése után.
- kimeneti név: a visszaadott oszlophoz használandó név.
Vegye figyelembe, hogy mivel a DELETE utasítás a teljes sort törli, nem kell megadnia az oszlopneveket.
PostgreSQL Lekérdezés törlése egy feltétellel
A DELETE utasítás egyetlen feltétellel használható. A feltétel a WHERE záradékkal van beállítva. Tekintsük az ártáblázatot a következő adatokkal:
Ár
Töröljük a 4-es azonosítójú rekordot:
DELETE FROM Price WHERE id = 4;
A fenti parancs törli azokat a rekordokat, amelyekben az azonosító 4. Ellenőrizzük, hogy a törlés sikeres volt-e:
A 4-es azonosítójú sort törölték.
Törölje a két feltétellel rendelkező lekérdezést
A PostgreSQL A DELETE utasításnak két feltétele lehet. A két feltételt az ÉS operátor használatával kell összekapcsolni. A következő táblázatot fogjuk használni:
Ár:
Tekintsük az alábbi példát:
DELETE FROM Price WHERE id = 3Y AND price = 300;
A fenti parancsban töröljük azt a sort, amelyben az azonosító 3, az ár pedig 300. Most lekérdezhetjük a táblát:
SELECT * FROM Price
Ez a következőket adja vissza:
A 3-as azonosítójú és 300-as árú rekordot törölték.
PostgreSQL Törölje a lekérdezést a Létezik feltétel használatával
A EXISTS feltétellel összetettebbé teheti a TÖRLÉST. Néha előfordulhat, hogy egy másik táblában lévő rekordok törlésére van szükség.
Látni fogja, hogy a FROM záradék nem teszi lehetővé, hogy egynél több tábla rekordját listázza ki a törlés végrehajtásakor, az EXISTS záradék nagyon hasznos lesz. A következő két táblázatunk van:
Könyv:
Ár:
Ezután a következő lekérdezést futtathatjuk:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
A fenti parancs törli a Könyv táblából, ahol van olyan rekord az Ár táblában, amelynek azonosítója megegyezik a Könyv tábla azonosítójával, és az ár kisebb, mint 250.
A könyvtáblázat most a következő:
Az 1-es azonosítójú rekord törölve lett.
Hogyan lehet törölni a sort PostgreSQL pgAdmin használatával
Az alábbiakban bemutatjuk a sor törlésének lépéseit PostgreSQL pgAdmin használatával:
Egy feltétellel
Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:
1. lépés) Jelentkezzen be pgAdmin fiókjába
Nyissa meg a pgAdmin alkalmazást, és jelentkezzen be fiókjába a hitelesítő adataival
2. lépés) Hozzon létre egy bemutató adatbázist
- A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
3. lépés) Írja be a lekérdezést
Írja be az alábbi lekérdezést a lekérdezésszerkesztőbe:
DELETE FROM Price WHERE id = 4;
4. lépés) Végezze el a lekérdezést
Kattintson a Végrehajtás gombra
5. lépés) Ellenőrizze, hogy a sor törölve van-e
Ellenőrizzük, hogy a törlés sikeres volt-e:
Két feltétellel
Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
DELETE FROM Price WHERE id = 3 AND price = 300;
Step 4) Kattintson a Végrehajtás gombra.
Step 5) Ellenőrizzük, hogy a törlés sikeres volt-e:
EXISTS feltétel használata
Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Step 4) Kattintson a Végrehajtás gombra.
Step 5) Ellenőrizzük, hogy a törlés sikeres volt-e:
Összegzésként
- A DELETE utasítás egy vagy több rekord törlésére szolgál egy táblából.
- Ha csak kiválasztott sorokat szeretne törölni egy táblából, akkor kombinálhatja a DELETE utasítást a WHERE záradékkal.
- Ha a DELETE záradékot a WHERE záradék nélkül használja, akkor az összes rekordot törli a táblából.
- A table-name paraméter lehetővé teszi annak a táblának a nevét, amelyből a rekordokat törölni kell.
- A DELETE utasítást egy feltétellel használhatjuk, amelyet a WHERE záradékkal adunk meg.
- A DELETE utasítás két, a WHERE záradékban meghatározott feltétellel is használható. A két feltételt az ÉS operátor használatával kell összekapcsolni.
- A LÉTEZIK feltétel segítségével törölhetünk rekordokat egy táblából egy másik tábla rekordjai alapján.
Töltse le az oktatóanyagban használt adatbázist