Naudodami „Post­g­re­SQL DELETE, galite ištrinti duomenis iš lentelės. Šią komandą galima pa­tiks­lin­ti naudojant sąlygas, lei­džian­čias nurodyti, kad būtų pa­ša­lin­tos tik tam tikros eilutės. Kadangi „Post­g­re­SQL“ duomenų iš­tri­ni­mas yra ne­grįž­ta­mas, svarbu šią komandą naudoti atsargiai.

Kas yra „Post­g­re­SQL DELETE“?

Post­g­re­SQL komanda DELETE naudojama įrašams iš lentelės ištrinti. Naudodami sąlygą WHERE, galite pa­si­rink­ti konk­re­čias eilutes, kurias norite ištrinti. Jei sąlygos WHERE ne­nu­ro­dy­si­te, visi nurodytos lentelės duomenys bus ne­grįž­ta­mai ištrinti. Kadangi duomenys ištrinami ne­grįž­ta­mai, naudodami šią komandą tu­rė­tu­mė­te elgtis atsargiai.

Kokia yra Post­g­re­SQL DELETE sintaksė?

Pag­rin­di­nė „Post­g­re­SQL DELETE “ sintaksė yra tokia:

DELETE FROM table_name
WHERE [condition];
post­g­re­sql

Komanda DELETE FROM pradeda nurodytos lentelės eilučių ištrynimą. Sąlyga WHERE leidžia nurodyti atskiras eilutes, iš kurių reikia ištrinti duomenis. Norėdami taikyti kelias sąlygas, galite naudoti AND arba OR.

Note

Prieš iš­trin­da­mi duomenis, įsi­ti­kin­ki­te, kad turite naujausią duomenų bazės atsarginę kopiją. Taip pat galite atlikti ištrinimo operaciją tran­sak­ci­jos metu. Tai padės išvengti at­si­tik­ti­nio duomenų praradimo, jei komanda būtų įvykdyta ne­tin­ka­mai.

Kaip ištrinti duomenis iš lentelės

Norėdami geriau suprasti, kaip veikia DELETE Post­g­re­SQL sistemoje, pa­žvel­ki­me į praktinį pavyzdį. Pir­miau­sia, naudodami komandą CREATE TABLE, sukursime lentelę pa­va­di­ni­mu „customer_list“. Tada ją už­pil­dy­si­me naudodami INSERT INTO. Lentelė turi tris stul­pe­lius (id, name ir city) ir joje yra keturi įrašai:

|id|name|city|
|-|-|-|
|1|Haines|Sheffield|
|2|Sullivan|Glasgow|
|3|Smith|Newcastle|
|4|Haines|Belfast|
post­g­re­sql

Jei naudosite komandą „Post­g­re­SQL DELETE be sąlygos, visi lentelės duomenys bus ištrinti. Tačiau pati lentelės struktūra nebus ištrinta. Komanda atrodo taip:

DELETE FROM customer_list;
post­g­re­sql

Kaip ištrinti eilutę Post­g­re­SQL

Dažnai tenka ištrinti atskirą eilutę. Tai galima padaryti įtrau­kiant WHERE sąlygą. Pa­vyz­džiui, tarkime, kad norime iš savo sąrašo ištrinti Sullivaną (ID numeris 2). Tam galime naudoti tokį kodą:

DELETE FROM customer_list
WHERE id = 2;
post­g­re­sql

Kaip nurodyti eilutę naudojant kelis kri­te­ri­jus

Jei dirbate su didelėmis len­te­lė­mis, jose gali būti pa­si­kar­to­jan­čių įrašų. Norėdami už­tik­rin­ti, kad būtų ištrintas tik vienas įrašas, galite naudoti kelias sąlygas. Pa­teik­to­je lentelėje yra du klientai, kurių pavardė Haines, tačiau norime ištrinti tik antrąjį įrašą. Tam galime sujungti dvi sąlygas:

DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;
post­g­re­sql

Ši komanda ištrina visas eilutes, kurių pa­va­di­ni­me yra žodis „Haines“ ir kurių lauke id įrašyta reikšmė yra didesnė arba lygi 3. Kadangi pirmojo įrašo, kuriame yra žodis „Haines“, lauke id įrašyta reikšmė yra mažesnė nei 3, jis lieka duomenų bazėje po to, kai įvykdoma ištrinimo komanda.

Go to Main Menu