# Οι βασικές SQL εντολές για αρχάριους

> Η SQL είναι μία γλώσσα υπολογιστών για τον χειρισμό βάσεων δεδομένων. Περιλαμβάνει δυνατότητες ανάκτησης και ενημέρωσης δεδομένων, δημιουργίας και τροποποίησης σχημάτων και πινάκων, αλλά και ελέγχου πρόσβασης στα δεδομένα. Εάν είστε νέοι στις εντολές SQL (Structured Query Language) ή χρειάζεστε…
> URL: https://iguru.gr/basic-sql-orders/
> Last modified: 2020-03-08T18:18:15+00:00

**Η SQL είναι μία γλώσσα υπολογιστών για τον χειρισμό βάσεων δεδομένων. Περιλαμβάνει δυνατότητες ανάκτησης και ενημέρωσης δεδομένων, δημιουργίας και τροποποίησης σχημάτων και πινάκων, αλλά και ελέγχου πρόσβασης στα δεδομένα.**

[](#zjs-lb-210854-1)

Εάν είστε νέοι στις εντολές SQL (Structured Query Language) ή χρειάζεστε μια υπενθύμιση ορισμένων βασικών εντολών αυτού του ισχυρού εργαλείου, τότε αυτό το άρθρο θα σας παραθέσει τις αρχικές εντολές.

Για τους πιο αρχάριους να πούμε [ότι μία βάση δεδομένων](https://el.wikipedia.org/wiki/%CE%92%CE%AC%CF%83%CE%B7_%CE%B4%CE%B5%CE%B4%CE%BF%CE%BC%CE%AD%CE%BD%CF%89%CE%BD) εννοείται μία συλλογή από μορφοποιημένα δεδομένα, στα οποία είναι δυνατή η ανάκτηση τους μέσω αναζήτησης. Τα δεδομένα αυτά, είναι ουσιαστικά σαν ένας πίνακας με στήλες και γραμμές. Φανταστείτε τα σαν μία σελίδα στο excel όπου κάθε οριζόντια γραμμή περιέχει μία πλήρη εγγραφή, χωρισμένη σε στήλες για εύκολη αναζήτηση και απολαβή μόνο των πληροφοριών που χρειάζεστε.

Ένας τηλεφωνικός κατάλογος θα μπορούσε να είναι ένα καλό παράδειγμα μίας βάσης δεδομένων. Φανταστείτε σε στήλες τα Ονόματα, Διεύθυνση, Τηλέφωνο και σε γραμμές τα πλήρη στοιχεία κάθε πελάτη.

Ο χειρισμός τέτοιων βάσεων γίνεται [μέσω της γλώσσας SQL](https://el.wikipedia.org/wiki/SQL). Το πρώτο σύστημα διαχείρισης βάσεων δεδομένων ήταν το RDMBS που αναπτύχθηκε στo MIT, στις αρχές της δεκαετίας του 1970. Από τότε έχει περάσει από πολλές αλλαγές και η εταιρεία Relational Software, το 1979, βλέποντας την χρησιμότητα των βάσεων δεδομένων και μίας γλώσσας επικοινωνίας με αυτή, εισήγαγε στην αγορά την πρώτη διαθέσιμη εφαρμογή SQL.

Πάμε όμως να δούμε τις βασικές της εντολές:

**Εντολή**
**Δράση**

**Εντολές ερωτήματος**

SELECT
Επίλεξε. Αποτελεί βασική εντολή ερωτήματος για την ανάκτηση δεδομένων

SELECT *
Η χρήση * με το SELECT επιστρέφει όλες τις στήλες

SELECT column (στήλη)
Καθορίστε ακριβείς στήλες με το όνομά τους

SELECT table.column
Ζητήστε συγκεκριμένη στήλη από συγκεκριμένο πίνακα

FROM
Καθορίστε πού να βρείτε τα δεδομένα

AS
Προσωρινό ψευδώνυμο ένα όνομα πίνακα ή μια στήλη, σε ένα νέο όνομα

WHERE
Φιλτράρετε αποτελέσματα με μια συνθήκη

AND
Χρησιμοποιήστε πολλαπλές συνθήκες με μια ρήτρα WHERE. Τα αποτελέσματα πρέπει να αντιστοιχούν σε όλες τις συνθήκες.

OR
Χρησιμοποιήστε πολλαπλές συνθήκες με μια ρήτρα WHERE. Τα αποτελέσματα πρέπει να αντιστοιχούν σε μία μόνο προϋπόθεση

ORDER BY
Ταξινομήστε τα αποτελέσματα με μία στήλη. Η βάση δεδομένων επιλέγει τον τρόπο ταξινόμησης

ORDER BY column ASC
Ταξινομήστε τα αποτελέσματα ανά στήλη με αύξουσα σειρά

ORDER BY column DESC
Ταξινομήστε τα αποτελέσματα ανά στήλη σε φθίνουσα σειρά

LIMIT
Περιορίστε τον αριθμό των αποτελεσμάτων που επιστρέφονται

OFFSET
Αγνοήστε τον πρώτο αριθμό γραμμών. Συχνά χρησιμοποιείται με LIMIT

SUBQUERY
Εκτελέστε ένα ερώτημα για την ανάκτηση δεδομένων για ένα άλλο ερώτημα

**Συγκεντρωτικές λειτουργίες**

COUNT
Μετρήστε τον αριθμό των σειρών που αντιστοιχούν στο ερώτημα

MAX
Δείξτε την υψηλότερη τιμή σε μια αριθμητική στήλη

MIN
Δείξτε τη χαμηλότερη τιμή σε μια αριθμητική στήλη

SUM
Προσθέστε τις τιμές μιας αριθμητικής στήλης

AVG
Υπολογίστε τη μέση τιμή για μια αριθμητική στήλη

HAVING
Χρησιμοποιείται με συγκεντρωτικές λειτουργίες αντί για την ρήτρα WHERE

GROUP BY
Χρησιμοποιείτε για να βελτιώσει το συνολικό αποτέλεσμα

**Χειριστές**

LIKE
Αναζήτηση ολόιδιων χαρακτήρων για ένα συγκεκριμένο μοτίβο 

ILIKE
Αναζήτηση ίδιων χαρακτήρων για ένα συγκεκριμένο μοτίβο (είτε κεφαλαία, είτε μικρά) 

BETWEEN
Αναζητήστε μια τιμή μεταξύ δύο τιμών. Λειτουργεί με ημερομηνίες ή αριθμούς

>
Αναζητήστε τιμές μεγαλύτερες από μία συνθήκη

>=
Αναζητήστε τιμές μεγαλύτερες ή ίσες από μία συνθήκη

<
Αναζητήστε τιμές μικρότερες από μία συνθήκη

<=
Αναζητήστε τιμές μικρότερες ή ίσες από μία συνθήκη

=
Αναζητήστε τιμές που ταιριάζουν ακριβώς με μια κατάσταση

!=
Αναζητήστε τιμές που δεν είναι ίσες με μια συνθήκη

UNION
Συνδυάστε δύο μοναδικά ερωτήματα (με τις ίδιες στήλες) σε ένα αποτέλεσμα

UNION ALL
Συνδυάστε δύο ερωτήματα (με τις ίδιες στήλες) σε ένα αποτέλεσμα. Επιτρέπονται διπλότυπα

IN
Συντάσετε με την WHERE. Καθορίζει πολλαπλές συνθήκες OR

NOT IN
Συντάσετε με την WHERE. Καθορίζει πολλαπλές συνθήκες OR (αντίστροφα) ή όχι ίση με

IS NULL
Ελέγξτε για κενές τιμές

IS NOT NULL
Ελέγξτε ότι δεν υπάρχουν κενές τιμές

INTERSECT
Επιστρέψτε τα αποτελέσματα που αντιστοιχούν σε δύο ερωτήματα

MINUS
Τα αποτελέσματα επιστροφής σε ένα ερώτημα που δεν βρίσκονται σε άλλο ερώτημα

**Δημιουργία και επεξεργασία πινάκων**

CREATE TABLE
Δημιουργήστε έναν νέο πίνακα

NULL
Να επιτρέπονται κενές τιμές για αυτό το πεδίο

NOT NULL
Να μην επιτρέπονται κενές τιμές για αυτό το πεδίο

DEFAULT
Μια προκαθορισμένη τιμή για να συμπληρώσετε ένα πεδίο (αν δεν παρέχεται κάποια)

AS
Δημιουργήστε έναν νέο πίνακα με βάση τη δομή ενός υπάρχοντος πίνακα. Ο νέος πίνακας θα περιέχει τα δεδομένα από τον παλιό πίνακα

ALTER TABLE – ADD COLUMN
Προσθέστε μια νέα στήλη σε έναν υπάρχοντα πίνακα

ALTER TABLE – DROP COLUMN
Καταργήστε μια στήλη από έναν υπάρχοντα πίνακα

ALTER TABLE – ALERT COLUMN
Αλλάξτε τον τύπο δεδομένων μιας υπάρχουσας στήλης

ALTER TABLE – RENAME COLUMN
Μετονομάστε μια υπάρχουσα στήλη

ALTER TABLE – RENAME TABLE
Μετονομάστε έναν υπάρχοντα πίνακα

ALTER TABLE – MODIFY NULL
Επιτρέψτε μηδενικές τιμές για μια στήλη

ALTER TABLE – MODIFY NOT NULL
Αποτροπή μηδενικών τιμών για μια στήλη

DROP TABLE
Διαγράψτε έναν πίνακα και όλα τα δεδομένα του

TRUNCATE TABLE
Διαγράψτε όλα τα δεδομένα σε έναν πίνακα, αλλά όχι τον ίδιο τον πίνακα

**Περιορισμοί**

PRIMARY KEY
Μια τιμή που προσδιορίζει με μοναδικό τρόπο μια εγγραφή σε έναν πίνακα. Ένας συνδυασμός NOT NULL και UNIQUE

FOREIGN KEY
Αναφέρει μια μοναδική τιμή σε έναν άλλο πίνακα. Συχνά ένα πρωτεύον κλειδί στον άλλο πίνακα

UNIQUE
Επιβολή μοναδικών τιμών για αυτήν τη στήλη ανά πίνακα

CHECK
Βεβαιωθείτε ότι οι τιμές πληρούν μια συγκεκριμένη προϋπόθεση

INDEX – CREATE
Βελτιστοποιήστε τους πίνακες και επιταχύνετε σημαντικά τα ερωτήματα προσθέτοντας ένα ευρετήριο σε μια στήλη

INDEX – CREATE UNIQUE
Δημιουργήστε ένα ευρετήριο που δεν επιτρέπει διπλές τιμές

INDEX – DROP
Καταργήστε ένα ευρετήριο

**Δημιουργία και επεξεργασία δεδομένων**

INSERT – SINGLE VALUE
Προσθέστε μια νέα εγγραφή σε έναν πίνακα

INSERT – MULTIPLE VALUES
Προσθέστε αρκετές νέες εγγραφές σε έναν πίνακα

INSERT – SELECT
Προσθέστε εγγραφές σε έναν πίνακα, αλλά λάβετε τις τιμές από έναν υπάρχοντα πίνακα

UPDATE – ALL
Τροποποιήστε όλες τις υπάρχουσες εγγραφές σε έναν πίνακα

UPDATE – WHERE
Τροποποιήστε τις υπάρχουσες εγγραφές σε έναν πίνακα που ταιριάζει με μια συνθήκη

DELETE – ALL
Καταργήστε όλες τις εγγραφές από έναν πίνακα

DELETE – WHERE
Καταργήστε τις εγγραφές από έναν πίνακα που ταιριάζει με μια συνθήκη

Η SQL θεωρείται πλέον μία από τις πιο ισχυρές γλώσσες. Υπάρχουν διάφορες “διάλεκτοι” SQL οι οποίες διαφέρουν ανάλογα με την μηχανή βάσης δεδομένων. Είναι λίγο σαν τη διαφορά μεταξύ HD DVD και Blu-ray. Η SQL είναι παρόμοια μεταξύ των βάσεων δεδομένων, αλλά μία περιστασιακή σύνθετη εντολή ενδέχεται να μην λειτουργεί ακριβώς το ίδιο σε όλες τις εφαρμογές.

 
Οι περισσότερες από τις εντολές SQL σε αυτό το άρθρο θα λειτουργήσουν σε οποιαδήποτε βάση δεδομένων.  Μόλις γνωρίσετε την SQL, θα την αγαπήσετε όπως εμείς και μπορείτε να την εφαρμόσετε σε διάφορες χρήσεις. Άλλωστε υπάρχει σχεδόν σε κάθε πρόγραμμα, από ιστοσελίδες στημένες σε wordpress μέχρι τα λογιστικά φύλλα. 
[](#zjs-img-210854-1)[×](#zjs-img-210854-1)[Πρωτότυπο ↗](https://cdn.iguru.gr/wp-content/uploads/2020/03/sql.webp)
