Η δομημένη γλώσσα ερωτήματος (SQL) είναι το σύνολο των οδηγιών που χρησιμοποιούνται για να αλληλεπιδράσουν με μια σχεσιακή βάση δεδομένων. Στην πραγματικότητα, η SQL είναι η μόνη γλώσσα που κατανοούν οι περισσότερες βάσεις δεδομένων. Κάθε φορά που αλληλεπιδράτε με μια τέτοια βάση δεδομένων, το λογισμικό μεταφράζει τις εντολές σας (είτε είναι κλικ του ποντικιού είτε καταχωρήσεις φόρμας) σε μια δήλωση SQL που η βάση δεδομένων γνωρίζει πώς να ερμηνεύσει. Η SQL έχει τρία βασικά στοιχεία: τη γλώσσα χειρισμού δεδομένων (DML), τη γλώσσα ορισμού δεδομένων (DDL) και τη γλώσσα ελέγχου δεδομένων (DCL).
Κοινές χρήσεις της SQL στον Ιστό
Ως χρήστης οποιουδήποτε προγράμματος λογισμικού που βασίζεται σε βάσεις δεδομένων, πιθανότατα χρησιμοποιείτε SQL, ακόμα κι αν δεν το γνωρίζετε. Για παράδειγμα, μια δυναμική ιστοσελίδα που βασίζεται σε βάση δεδομένων (όπως οι περισσότεροι ιστότοποι) παίρνει την είσοδο χρήστη από φόρμες και κλικ και την χρησιμοποιεί για να συνθέσει ένα ερώτημα SQL που ανακτά πληροφορίες από τη βάση δεδομένων που απαιτείται για τη δημιουργία της επόμενης ιστοσελίδας.Εξετάστε το παράδειγμα ενός απλού ηλεκτρονικού καταλόγου με μια λειτουργία αναζήτησης. Η σελίδα αναζήτησης μπορεί να αποτελείται από μια φόρμα που περιέχει μόνο ένα πλαίσιο κειμένου στο οποίο εισάγετε έναν όρο αναζήτησης και στη συνέχεια κάντε κλικ σε ένα κουμπί αναζήτησης. Όταν κάνετε κλικ στο κουμπί, ο διακομιστής web ανακτά κάθε εγγραφή από τη βάση δεδομένων του προϊόντος που περιέχει τον όρο αναζήτησης και χρησιμοποιεί τα αποτελέσματα για να δημιουργήσει μια ιστοσελίδα ειδική για το αίτημά σας.Για παράδειγμα, εάν αναζητήσατε προϊόντα που περιέχουν τον όρο "ιρλανδικά", ο διακομιστής μπορεί να χρησιμοποιήσει την ακόλουθη εντολή SQL για να ανακτήσει τα σχετικά προϊόντα: SELECT *ΑΠΟ τα προϊόνταWHERE ΟΝΟΜΑ LIKE '% irish%'
Μετάφραση, αυτή η εντολή ανακτά οποιεσδήποτε εγγραφές από τον πίνακα βάσης δεδομένων που ονομάζεται "προϊόντα" που περιέχουν τους χαρακτήρες "ιρλανδικά" οπουδήποτε μέσα στο όνομα του προϊόντος. Η Γλώσσα Χειρισμού Δεδομένων (DML) περιέχει το υποσύνολο εντολών SQL που χρησιμοποιούνται πιο συχνά, "εκείνες που απλά χειρίζονται τα περιεχόμενα μιας βάσης δεδομένων σε κάποια μορφή. Οι τέσσερις πιο συνήθεις εντολές DML ανακτούν πληροφορίες από μια βάση δεδομένων (η επιλογή SELECT), προσθέτουν νέες πληροφορίες σε μια βάση δεδομένων (η εντολή INSERT), τροποποιούν τις πληροφορίες που είναι αποθηκευμένες σε μια βάση δεδομένων (η εντολή UPDATE) και αφαιρούν πληροφορίες από μια βάση δεδομένων DELETE εντολή). Η γλώσσα ορισμού δεδομένων (DDL) περιέχει εντολές που χρησιμοποιούνται λιγότερο συχνά. Οι εντολές DDL τροποποιούν την πραγματική δομή μιας βάσης δεδομένων, αντί των περιεχομένων της βάσης δεδομένων. Παραδείγματα κοινώς χρησιμοποιούμενων εντολών DDL περιλαμβάνουν εκείνες που χρησιμοποιούνται για τη δημιουργία ενός νέου πίνακα βάσεων δεδομένων (CREATE TABLE), την τροποποίηση της δομής ενός πίνακα βάσεων δεδομένων (ALTER TABLE) και τη διαγραφή ενός πίνακα βάσης δεδομένων (DROP TABLE). Η Γλώσσα Ελέγχου Δεδομένων (DCL) χρησιμοποιείται για τη διαχείριση της πρόσβασης των χρηστών στις βάσεις δεδομένων. Αποτελείται από δύο εντολές: την εντολή GRANT, που χρησιμοποιείται για την προσθήκη δικαιωμάτων βάσης δεδομένων για έναν χρήστη και την εντολή REVOKE, που χρησιμοποιείται για την κατάργηση των υπαρχόντων δικαιωμάτων. Αυτές οι δύο εντολές αποτελούν τον πυρήνα του μοντέλου ασφάλειας σχεσιακής βάσης δεδομένων. Ευτυχώς για όσους από εμάς δεν είμαστε προγραμματιστές υπολογιστών, οι εντολές SQL σχεδιάζονται για να έχουν μια σύνταξη παρόμοια με την αγγλική γλώσσα. Αρχίζουν κανονικά με μια εντολή εντολής που περιγράφει τη δράση που πρέπει να ακολουθήσει, ακολουθούμενη από μια ρήτρα που περιγράφει τον στόχο της εντολής (όπως είναι ο συγκεκριμένος πίνακας μέσα σε μια βάση δεδομένων που επηρεάζεται από την εντολή) και, τέλος, μια σειρά από ρήτρες που παρέχουν πρόσθετες οδηγίες.Συχνά, η απλή ανάγνωση μιας δήλωσης SQL θα σας δώσει μια πολύ καλή ιδέα για το τι πρόκειται να κάνει η εντολή. Πάρτε μια στιγμή για να διαβάσετε αυτό το παράδειγμα μιας δήλωσης SQL: ΔΙΑΓΡΑΦΩΑΠΟ φοιτητέςWHERE graduation_year = 2014
Μπορείτε να μαντέψετε τι θα κάνει αυτή η δήλωση; Προσέρχεται στον πίνακα μαθητών της βάσης δεδομένων και διαγράφει όλα τα αρχεία για φοιτητές που αποφοίτησαν το 2014. Εξετάσαμε μερικά απλά παραδείγματα SQL σε αυτό το άρθρο, αλλά η SQL είναι μια ευρεία και ισχυρή γλώσσα. Για μια πιο λεπτομερή εισαγωγή, ανατρέξτε στο SQL Fundamentals. Γλώσσα χειρισμού δεδομένων
Γλώσσα ορισμού δεδομένων
Γλώσσα ελέγχου δεδομένων
Δομή μιας εντολής SQL
Εκμάθηση προγραμματισμού SQL