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


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

SQL

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

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

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

Ο χειρισμός τέτοιων βάσεων γίνεται μέσω της γλώσσας 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 μέχρι τα λογιστικά φύλλα. 

Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news