# Πώς να χρησιμοποιήσετε την εντολή DELETE στο PostgreSQL

Με το PostgreSQL `DELETE`, μπορείτε να διαγράψετε δεδομένα από έναν πίνακα. Η εντολή μπορεί να περιοριστεί με τη χρήση συνθηκών, επιτρέποντάς σας να καθορίσετε τη διαγραφή συγκεκριμένων σειρών. Δεδομένου ότι οι διαγραφές στο PostgreSQL είναι μη αναστρέψιμες, είναι σημαντικό να χρησιμοποιείτε την εντολή με προσοχή.

## Τι είναι το PostgreSQL `DELETE`;

Η εντολή `DELETE` στο PostgreSQL χρησιμοποιείται για **τη διαγραφή εγγραφών από έναν πίνακα**. Χρησιμοποιώντας τη ρήτρα `WHERE`, μπορείτε να επιλέξετε συγκεκριμένες σειρές για διαγραφή. Χωρίς τη ρήτρα `WHERE`, όλα τα δεδομένα του πίνακα που καθορίζετε θα διαγραφούν **οριστικά**. Επειδή τα δεδομένα διαγράφονται οριστικά, θα πρέπει να είστε προσεκτικοί κατά τη χρήση αυτής της εντολής.

## Ποια είναι η σύνταξη για το PostgreSQL `DELETE`;

Η βασική σύνταξη του PostgreSQL `DELETE` έχει ως εξής:

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

Η εντολή `DELETE FROM` ξεκινά τη διαγραφή σειρών στον πίνακα που καθορίζετε. Η ρήτρα `WHERE` σας επιτρέπει να καθορίσετε μεμονωμένες σειρές από τις οποίες πρέπει να διαγραφούν τα δεδομένα. Για να εφαρμόσετε πολλαπλές συνθήκες, μπορείτε να χρησιμοποιήσετε `AND` ή `OR`.

Note Πριν διαγράψετε δεδομένα, βεβαιωθείτε ότι διαθέτετε ένα ενημερωμένο αντίγραφο ασφαλείας της βάσης δεδομένων. Μπορείτε επίσης να εκτελέσετε τη διαδικασία διαγραφής στο πλαίσιο μιας συναλλαγής. Αυτό συμβάλλει στην αποφυγή τυχαίας απώλειας δεδομένων σε περίπτωση που η εντολή εκτελεστεί λανθασμένα.

## Πώς να διαγράψετε δεδομένα από έναν πίνακα

Για να κατανοήσουμε καλύτερα πώς λειτουργεί `DELETE` στο PostgreSQL, ας δούμε ένα πρακτικό παράδειγμα. Πρώτα, θα χρησιμοποιήσουμε την εντολή [CREATE TABLE](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/postgresql-create-table/) για να δημιουργήσουμε έναν πίνακα με το όνομα «customer\_list». Στη συνέχεια, θα τον συμπληρώσουμε χρησιμοποιώντας [την εντολή INSERT INTO](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/postgresql-insert-into/). Ο πίνακας έχει τρεις στήλες (`id`, `name` και `city`) και περιέχει τέσσερις εγγραφές:

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

Εάν χρησιμοποιήσετε την εντολή PostgreSQL `DELETE` χωρίς συνθήκη, όλα τα δεδομένα του πίνακα θα διαγραφούν. Η ίδια η δομή του πίνακα, ωστόσο, δεν θα διαγραφεί. Η εντολή έχει την εξής μορφή:

```postgresql
DELETE FROM customer_list;
```

## Πώς να διαγράψετε μια σειρά στο PostgreSQL

Συχνά, θα χρειαστεί να διαγράψετε **μια μεμονωμένη σειρά**. Μπορείτε να το κάνετε αυτό συμπεριλαμβάνοντας μια ρήτρα `WHERE`. Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να διαγράψουμε τον Sullivan (αριθμός ταυτότητας `2`) από τη λίστα μας. Μπορούμε να χρησιμοποιήσουμε τον παρακάτω κώδικα για να το κάνουμε:

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

### Πώς να προσδιορίσετε μια σειρά χρησιμοποιώντας πολλαπλές συνθήκες

Εάν εργάζεστε με μεγάλους πίνακες, ενδέχεται να υπάρχουν διπλές εγγραφές. Για να διασφαλίσετε ότι θα διαγραφεί μόνο μία σειρά, μπορείτε να χρησιμοποιήσετε **πολλαπλές συνθήκες**. Στον παραπάνω πίνακα, έχουμε δύο πελάτες με το όνομα Haines, αλλά θέλουμε να διαγράψουμε μόνο τη δεύτερη εγγραφή. Για να το κάνουμε αυτό, μπορούμε να συνδυάσουμε δύο συνθήκες:

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

Αυτή η εντολή διαγράφει όλες τις σειρές με το όνομα Haines στις οποίες το πεδίο `id` έχει τιμή μεγαλύτερη ή ίση με `3`. Δεδομένου ότι η πρώτη εγγραφή που περιέχει το όνομα Haines έχει στο πεδίο `id` τιμή μικρότερη από `3`, παραμένει στη βάση δεδομένων μετά την εκτέλεση της εντολής διαγραφής.


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/postgresql-delete/](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/postgresql-delete/) for AI/LLM consumption.