Kako uporabljati ukaz DELETE v PostgreSQL
V PostgreSQL DELETE lahko izbrišete podatke iz tabele. Ukaz lahko omejite s pomočjo pogojev, kar vam omogoča, da določite izbris posameznih vrstic. Ker je izbris v PostgreSQL nepovraten, je pomembno, da ukaz uporabljate previdno.
Kaj je PostgreSQL DELETE?
Ukaz DELETE v PostgreSQL se uporablja za brisanje vnosov iz tabele. Z uporabo klavzule WHERE lahko izberete določene vrstice, ki jih želite zbrisati. Brez klavzule WHERE bodo vsi podatki v navedeni tabeli trajno izbrisani. Ker se podatki izbrišejo trajno, morate pri uporabi tega ukaza ravnati previdno.
Kakšna je sintaksa za PostgreSQL DELETE?
Osnovna sintaksa PostgreSQL DELETE je naslednja:
DELETE FROM table_name
WHERE [condition];postgresqlUkaz DELETE FROM sproži brisanje vrstic v tabeli, ki jo določite. Klavzula WHERE vam omogoča, da določite posamezne vrstice, iz katerih naj se podatki izbrišejo. Za uporabo več pogojev lahko uporabite AND ali OR.
Preden izbrišete podatke, se prepričajte, da imate posodobljeno varnostno kopijo baze podatkov. Operacijo brisanja lahko izvedete tudi v okviru transakcije. S tem preprečite naključno izgubo podatkov, če bi ukaz izvedli nepravilno.
Kako izbrisati podatke iz tabele
Da bi bolje razumeli, kako deluje DELETE v PostgreSQL, si oglejmo praktičen primer. Najprej bomo z ukazom CREATE TABLE ustvarili tabelo z imenom »customer_list«. Nato jo bomo napolnili z ukazom INSERT INTO. Tabela ima tri stolpce (id, name in city) in vsebuje štiri vnose:
|id|name|city|
|-|-|-|
|1|Haines|Sheffield|
|2|Sullivan|Glasgow|
|3|Smith|Newcastle|
|4|Haines|Belfast|postgresqlČe uporabite PostgreSQL DELETE brez pogoja, bodo vsi podatki v tabeli izbrisani. Sama struktura tabele pa ne bo izbrisana. Ukaz je naslednji:
DELETE FROM customer_list;postgresqlKako izbrisati vrstico v PostgreSQL
Pogosto se zgodi, da morate izbrisati posamezno vrstico. To lahko storite z vključitvijo klavzule WHERE. Recimo, da želimo iz seznama izbrisati Sullivana (ID številka 2). Za to lahko uporabimo naslednjo kodo:
DELETE FROM customer_list
WHERE id = 2;postgresqlKako določiti vrstico z uporabo več pogojev
Če delate z obsežnimi tabelami, se lahko zgodi, da imate podvojene vnose. Da bi zagotovili, da se izbriše le ena vrstica, lahko uporabite več pogojev. V zgornji tabeli imamo dva stranka z imenom Haines, vendar želimo izbrisati le drugi vnos. Za to lahko združimo dva pogoja:
DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;postgresqlTa ukaz izbriše vse vrstice z imenom Haines, pri katerih je vrednost id večja ali enaka 3. Ker je pri prvem vnosu, ki vsebuje ime Haines, vrednost id manjša od 3, ta vnos po izvedbi ukaza za brisanje ostane v bazi podatkov.