# Slik bruker du DELETE i PostgreSQL

Med PostgreSQL `DELETE` kan du slette data fra en tabell. Kommandoen kan avgrenses ved hjelp av betingelser, slik at du kan angi at enkelte rader skal slettes. Siden slettinger i PostgreSQL ikke kan gjøres om, er det viktig å bruke kommandoen med forsiktighet.

## Hva er PostgreSQL `DELETE`?

Kommandoen `DELETE` i PostgreSQL brukes til **å slette oppføringer fra en tabell**. Ved å bruke klausulen `WHERE` kan du velge bestemte rader som skal slettes. Uten klausulen `WHERE` vil alle dataene i den angitte tabellen bli slettet **permanent**. Siden dataene slettes permanent, bør du være forsiktig når du bruker denne kommandoen.

## Hva er syntaksen for PostgreSQL `DELETE`?

Den grunnleggende syntaksen i PostgreSQL `DELETE` er som følger:

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

Kommandoen `DELETE FROM` starter slettingen av rader i den angitte tabellen. Klausulen `WHERE` lar deg angi bestemte rader der data skal slettes. For å angi flere betingelser kan du bruke `AND` eller `OR`.

Note Før du sletter data, må du sørge for at du har en oppdatert sikkerhetskopi av databasen. Du kan også utføre slettingen innenfor en transaksjon. Dette bidrar til å forhindre utilsiktet tap av data dersom kommandoen utføres feil.

## Hvordan slette data fra en tabell

For å få et bedre inntrykk av hvordan `DELETE` fungerer i PostgreSQL, skal vi se på et praktisk eksempel. Først skal vi bruke kommandoen [CREATE TABLE](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-create-table/) til å opprette en tabell med navnet «customer\_list». Deretter skal vi fylle den med data ved hjelp av [INSERT INTO](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-insert-into/). Tabellen har tre kolonner (`id`, `name` og `city`) og inneholder fire oppføringer:

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

Hvis du bruker PostgreSQL `DELETE` uten noen betingelse, vil alle dataene i tabellen bli slettet. Selve tabellstrukturen vil imidlertid ikke bli slettet. Slik ser kommandoen ut:

```postgresql
DELETE FROM customer_list;
```

## Hvordan slette en rad i PostgreSQL

Ofte vil du måtte slette **en enkelt rad**. Dette gjør du ved å inkludere en `WHERE`. La oss for eksempel si at vi ønsker å slette Sullivan (ID-nummer `2`) fra listen vår. Da kan vi bruke følgende kode:

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

### Hvordan velge ut en rad ved hjelp av flere kriterier

Hvis du arbeider med store tabeller, kan det hende du har dupliserte oppføringer. For å sikre at bare én rad slettes, kan du bruke **flere betingelser**. I tabellen ovenfor har vi to kunder som heter Haines, men vi ønsker bare å slette den andre oppføringen. For å gjøre dette kan vi kombinere to betingelser:

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

Denne kommandoen sletter alle rader med navnet Haines der verdien `id` er større enn eller lik `3`. Siden den første oppføringen som inneholder Haines har en verdi `id` som er mindre enn `3`, forblir den i databasen etter at slettingskommandoen er utført.


This is a markdown version of: [https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-delete/](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/postgresql-delete/) for AI/LLM consumption.