Kā lietot PostgreSQL DELETE
Izmantojot PostgreSQL DELETE, var dzēst datus no tabulas. Komandu var precizēt, izmantojot nosacījumus, kas ļauj norādīt atsevišķu rindu dzēšanu. Tā kā PostgreSQL dzēšana ir neatgriezeniska, ir svarīgi izmantot šo komandu uzmanīgi.
Kas ir PostgreSQL DELETE?
PostgreSQL komanda DELETE tiek izmantota, lai dzēstu ierakstus no tabulas. Izmantojot klauzulu WHERE, varat atlasīt konkrētas rindas, kuras dzēst. Ja klauzula WHERE netiek izmantota, visi dati norādītajā tabulā tiks neatgriezeniski dzēsti. Tā kā dati tiek dzēsti neatgriezeniski, šo komandu vajadzētu izmantot ar piesardzību.
Kāda ir PostgreSQL DELETE sintakse?
PostgreSQL DELETE pamatgramatika ir šāda:
DELETE FROM table_name
WHERE [condition];postgresqlKomanda DELETE FROM uzsāk rindu dzēšanu norādītajā tabulā. Klauzula WHERE ļauj norādīt atsevišķas rindas, no kurām dati ir jādzēš. Lai īstenotu vairākus nosacījumus, varat izmantot AND vai OR.
Pirms datu dzēšanas pārliecinieties, ka jums ir datu bāzes aktuāla rezerves kopija. Dzēšanas darbību varat veikt arī transakcijas ietvaros. Tas palīdz novērst nejaušu datu zudumu, ja komanda tiek izpildīta nepareizi.
Kā dzēst datus no tabulas
Lai labāk izprastu, kā PostgreSQL darbojas DELETE, aplūkosim praktisku piemēru. Vispirms izmantosim komandu CREATE TABLE, lai izveidotu tabulu ar nosaukumu „customer_list“. Pēc tam to aizpildīsim, izmantojot INSERT INTO. Tabulai ir trīs kolonnas (id, name un city), un tajā ir četri ieraksti:
|id|name|city|
|-|-|-|
|1|Haines|Sheffield|
|2|Sullivan|Glasgow|
|3|Smith|Newcastle|
|4|Haines|Belfast|postgresqlJa izmantojat PostgreSQL DELETE bez nosacījuma, visi dati tabulā tiks dzēsti. Tomēr pašas tabulas struktūra netiks dzēsta. Šādi izskatās šī komanda:
DELETE FROM customer_list;postgresqlKā dzēst rindu PostgreSQL
Bieži vien rodas nepieciešamība dzēst atsevišķu rindu. To var izdarīt, iekļaujot WHERE klauzulu. Piemēram, pieņemsim, ka vēlamies no saraksta dzēst Sullivan (ID numurs 2). Lai to izdarītu, varam izmantot šādu kodu:
DELETE FROM customer_list
WHERE id = 2;postgresqlKā atlasīt rindu, izmantojot vairākus nosacījumus
Ja strādājat ar lielām tabulām, tajās var būt dublikāti. Lai nodrošinātu, ka tiek dzēsta tikai viena rinda, varat izmantot vairākus nosacījumus. Iepriekšējā tabulā ir divi klienti ar uzvārdu Haines, bet mēs vēlamies dzēst tikai otro ierakstu. Lai to izdarītu, varam apvienot divus nosacījumus:
DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;postgresqlŠī komanda dzēš visas rindas ar nosaukumu „Haines“, kurās laukā id ir skaitlis, kas ir lielāks vai vienāds ar 3. Tā kā pirmajā ierakstā, kurā ir vārds „Haines“, laukā id ir skaitlis, kas ir mazāks par 3, tas paliek datu bāzē pēc dzēšanas komandas izpildes.