PostgreSQL Sorok törlése a Kijelölésből
⚡ Okos összefoglaló
PostgreSQL A DELETE egy vagy több sort távolít el egy táblázatból, és egy WHERE záradékkal párosítva csak azokat a rekordokat célozza meg, amelyek megfelelnek egy feltételnek, míg a WHERE elhagyása a táblázat összes sorát törli.

Lekérdezés törlése itt PostgreSQL
Az TÖRLÉS utasítás in PostgreSQL egy vagy több rekord törlésére szolgál egy táblázatból. Ha csak a kiválasztott sorokat szeretné törölni egy táblázatból, PostgreSQL lehetővé teszi a DELETE utasítás kombinálását a WHERE záradékkal; ellenkező esetben törli a tábla összes rekordját.
PostgreSQL Lekérdezés szintaxisának törlése
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
A következő paraméterek érhetők el:
- lekérdezésselA WITH záradék lehetővé teszi, hogy név szerint hivatkozzunk egy vagy több allekérdezésre a DELETE lekérdezésen belül.
- táblanév: annak a táblának a neve, amelyből a rekordokat törölni kell.
- álnév: a céltábla nevének helyettesítője.
- 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): opcionális. Ezeknek a feltételeknek kell teljesülniük a rekordok törléséhez. Ha ez a szakasz nincs kitöltve, 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 beolvasott sor törlődik.
- kimenet-kifejezés: a DELETE utasítás által minden sor törlése után feldolgozandó és visszaadandó kifejezés.
- 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ó, amelyet a WHERE záradékkal állíthatunk be. Tekintsük a Price táblát 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
Az PostgreSQL A DELETE utasítás is két feltételt vehet fel. A két feltételt az ÉS operátorral kell összekapcsolni. Ehhez a következő táblázatot fogjuk használni:
Ár:
Tekintsük az alábbi példát:
DELETE FROM Price WHERE id = 3 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ázatot:
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 Lekérdezés törlése EXISTS feltétel használatával
Aktivitáskövető LÉTEZIK feltétellel bonyolultabbá teheti a TÖRLÉS műveletet. Előfordulhat, hogy egy táblázatban lévő rekordok törlésére van szükség egy másik táblázatban lévő rekordok alapján.
Mivel a FROM záradék nem teszi lehetővé, hogy egynél több táblából listázzunk rekordokat törléskor, az EXISTS záradék nagyon hasznossá válik. A következő két táblával rendelkezünk:
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 parancs törli a Book tábla azon sorait, amelyeknek a Price táblában egyező azonosítójuk van, és az ár 250 alatt van.
A könyvtáblázat most a következő:
Az 1-es azonosítójú rekord törölve lett.
Hogyan töröljünk egy sort a PostgreSQL pgAdmin használatával
Ugyanezek a törlési lekérdezések vizuálisan is futtathatók a pgAdmin felületen keresztül, az alábbi lépéseket követve:
Egy feltétellel
Step 1) Jelentkezzen be pgAdmin fiókjába. Nyissa meg a pgAdmin alkalmazást, és jelentkezzen be fiókjába a hitelesítő adataival.
Step 2) Hozz létre egy demó adatbázist.
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be az alábbi lekérdezést a lekérdezésszerkesztőbe:
DELETE FROM Price WHERE id = 4;
Step 4) Kattintson a Végrehajtás gombra.
Step 5) Ellenőrizzük, hogy a sor törölve lett-e:
Két feltétellel
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon 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
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávon 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:
Töltse le az oktatóanyagban használt adatbázist
















