# 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:

```postgresql
DELETE FROM table_name
WHERE [condition];
```

Ukaz `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`.

Note 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](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/postgresql-create-table/) ustvarili tabelo z imenom »customer\_list«. Nato jo bomo napolnili z [ukazom INSERT INTO](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/postgresql-insert-into/). Tabela ima tri stolpce (`id`, `name` in `city`) in vsebuje štiri vnose:

```postgresql
|id|name|city|
|-|-|-|
|1|Haines|Sheffield|
|2|Sullivan|Glasgow|
|3|Smith|Newcastle|
|4|Haines|Belfast|
```

Če uporabite PostgreSQL `DELETE` brez pogoja, bodo vsi podatki v tabeli izbrisani. Sama struktura tabele pa ne bo izbrisana. Ukaz je naslednji:

```postgresql
DELETE FROM customer_list;
```

## Kako 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:

```postgresql
DELETE FROM customer_list
WHERE id = 2;
```

### Kako 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:

```postgresql
DELETE FROM customer_list
WHERE name = 'Haines'
AND id >= 3;
```

Ta 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.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/postgresql-delete/](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/postgresql-delete/) for AI/LLM consumption.