Η 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 είναι παρόμοια μεταξύ των βάσεων δεδομένων, αλλά μία περιστασιακή σύνθετη εντολή ενδέχεται να μην λειτουργεί ακριβώς το ίδιο σε όλες τις εφαρμογές.
πολυ καλοοοο
ευχαριστώ πολύ !!!! bravo !