Τι πρέπει να ξέρετε για τη δομημένη γλώσσα ερωτημάτων

Η δομημένη γλώσσα ερωτήματος (SQL) είναι το σύνολο των οδηγιών που χρησιμοποιούνται για να αλληλεπιδράσουν με μια σχεσιακή βάση δεδομένων . Στην πραγματικότητα, η SQL είναι η μόνη γλώσσα που κατανοούν οι περισσότερες βάσεις δεδομένων. Κάθε φορά που αλληλεπιδράτε με μια τέτοια βάση δεδομένων, το λογισμικό μεταφράζει τις εντολές σας (είτε είναι κλικ του ποντικιού είτε καταχωρήσεις φόρμας) σε μια δήλωση SQL που η βάση δεδομένων γνωρίζει πώς να ερμηνεύσει. Η SQL έχει τρία βασικά στοιχεία: τη γλώσσα χειρισμού δεδομένων (DML), τη γλώσσα ορισμού δεδομένων (DDL) και τη γλώσσα ελέγχου δεδομένων (DCL).

Κοινές χρήσεις της SQL στον Ιστό

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

Εξετάστε το παράδειγμα ενός απλού ηλεκτρονικού καταλόγου με μια λειτουργία αναζήτησης. Η σελίδα αναζήτησης μπορεί να αποτελείται από μια φόρμα που περιέχει μόνο ένα πλαίσιο κειμένου στο οποίο εισάγετε έναν όρο αναζήτησης και στη συνέχεια κάντε κλικ σε ένα κουμπί αναζήτησης. Όταν κάνετε κλικ στο κουμπί, ο διακομιστής web ανακτά κάθε εγγραφή από τη βάση δεδομένων του προϊόντος που περιέχει τον όρο αναζήτησης και χρησιμοποιεί τα αποτελέσματα για να δημιουργήσει μια ιστοσελίδα ειδική για το αίτημά σας.

Για παράδειγμα, εάν αναζητήσατε προϊόντα που περιέχουν τον όρο "ιρλανδικά", ο διακομιστής μπορεί να χρησιμοποιήσει την ακόλουθη εντολή SQL για να ανακτήσει τα σχετικά προϊόντα:

SELECT * ΑΠΟ τα προϊόντα WHERE name LIKE '% irish%'

Μετάφραση, αυτή η εντολή ανακτά οποιεσδήποτε εγγραφές από τον πίνακα βάσης δεδομένων που ονομάζεται "προϊόντα" που περιέχουν τους χαρακτήρες "ιρλανδικά" οπουδήποτε μέσα στο όνομα του προϊόντος.

Γλώσσα χειρισμού δεδομένων

Η Γλώσσα Χειρισμού Δεδομένων (DML) περιέχει το υποσύνολο των εντολών SQL που χρησιμοποιούνται συχνότερα - αυτές που απλά χειρίζονται τα περιεχόμενα μιας βάσης δεδομένων σε κάποια μορφή. Οι τέσσερις πιο συνήθεις εντολές DML ανακτούν πληροφορίες από μια βάση δεδομένων (η επιλογή SELECT), προσθέτουν νέες πληροφορίες σε μια βάση δεδομένων (η εντολή INSERT), τροποποιούν τις πληροφορίες που είναι αποθηκευμένες σε μια βάση δεδομένων (η εντολή UPDATE) και αφαιρούν πληροφορίες από μια βάση δεδομένων DELETE εντολή).

Γλώσσα ορισμού δεδομένων

Η γλώσσα ορισμού δεδομένων (DDL) περιέχει εντολές που χρησιμοποιούνται λιγότερο συχνά. Οι εντολές DDL τροποποιούν την πραγματική δομή μιας βάσης δεδομένων, αντί των περιεχομένων της βάσης δεδομένων. Παραδείγματα κοινώς χρησιμοποιούμενων εντολών DDL περιλαμβάνουν εκείνες που χρησιμοποιούνται για τη δημιουργία ενός νέου πίνακα βάσεων δεδομένων (CREATE TABLE), την τροποποίηση της δομής ενός πίνακα βάσεων δεδομένων (ALTER TABLE) και τη διαγραφή ενός πίνακα βάσης δεδομένων (DROP TABLE).

Γλώσσα ελέγχου δεδομένων

Η Γλώσσα Ελέγχου Δεδομένων (DCL) χρησιμοποιείται για τη διαχείριση της πρόσβασης των χρηστών στις βάσεις δεδομένων . Αποτελείται από δύο εντολές: την εντολή GRANT, που χρησιμοποιείται για την προσθήκη δικαιωμάτων βάσης δεδομένων για έναν χρήστη και την εντολή REVOKE, που χρησιμοποιείται για την κατάργηση των υπαρχόντων δικαιωμάτων. Αυτές οι δύο εντολές αποτελούν τον πυρήνα του μοντέλου ασφάλειας σχεσιακής βάσης δεδομένων.

Δομή μιας εντολής SQL

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

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

ΔΙΑΓΡΑΦΗ από τους σπουδαστές WHERE graduation_year = 2014

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

Εκμάθηση προγραμματισμού SQL

Εξετάσαμε μερικά απλά παραδείγματα SQL σε αυτό το άρθρο, αλλά η SQL είναι μια ευρεία και ισχυρή γλώσσα. Για μια πιο λεπτομερή εισαγωγή, ανατρέξτε στο SQL Fundamentals .