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

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

Βάση δεδομένων - αρχείο ή σύνολο αρχείων για την αποθήκευση που έχουν παραγγελθείδομές δεδομένων και τις αλληλεξαρτήσεις τους. Πολύ συχνά μια βάση δεδομένων ονομάζεται σύστημα διαχείρισης βάσεων δεδομένων (DBMS). Η βάση δεδομένων είναι μόνο μια αποθήκη πληροφοριών σε μια συγκεκριμένη μορφή και μπορεί να λειτουργήσει με διαφορετικά DBMS.

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

Τύπος δεδομένων - Ο τύπος πληροφοριών που μπορούν να αποθηκευτούν σε ξεχωριστή στήλη ή γραμμή. Μπορεί να είναι αριθμοί ή κείμενο συγκεκριμένης μορφής.

Στήλη και συμβολοσειρά - όλοι εργαστήκαμε με υπολογιστικά φύλλα, τα οποία περιέχουν και σειρές και στήλες. Κάθε σχεσιακή βάση δεδομένων συνεργάζεται με πίνακες με παρόμοιο τρόπο. Οι σειρές μερικές φορές ονομάζονται εγγραφές.

Κύριο κλειδί - Κάθε σειρά του πίνακα μπορεί να έχει μία ή περισσότερες στήλες για τη μοναδική αναγνώρισή της. Χωρίς ένα πρωτεύον κλειδί, είναι πολύ δύσκολο να ενημερώσετε, να τροποποιήσετε ή να διαγράψετε τις απαιτούμενες σειρές.

Τι είναι το SQL;

Γλώσσα επερώτησης SQL (Eng. Structured Language Query) σχεδιάστηκε μόνο για εργασία με βάσεις δεδομένων και είναι σήμερα το πρότυπο για όλα τα δημοφιλή DBMS. Η σύνταξη της γλώσσας αποτελείται από ένα μικρό αριθμό φορέων και είναι εύκολο να μάθει. Αλλά, παρά την εξωτερική της απλότητα, επιτρέπει τη δημιουργία ερωτημάτων sql για πολύπλοκες λειτουργίες με βάσεις δεδομένων οποιουδήποτε μεγέθους.

queries sql

Από το 1992 υπάρχει ένα γενικά αποδεκτό πρότυπο που ονομάζεται ANSI SQL. Καθορίζει τη βασική σύνταξη και τις λειτουργίες των χειριστών και υποστηρίζεται από όλους τους ηγέτες της αγοράς βάσεων δεδομένων, όπως ο ORACLE Microsoft SQL Server. Είναι αδύνατο να εξετάσουμε όλα τα χαρακτηριστικά της γλώσσας σε ένα μικρό άρθρο, οπότε θα εξετάσουμε σύντομα μόνο τα βασικά ερωτήματα SQL. Παραδείγματα απεικονίζουν την απλότητα και τις δυνατότητες της γλώσσας:

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

Τύποι δεδομένων SQL

Όλες οι στήλες στον πίνακα βάσης δεδομένων αποθηκεύουν έναν τύπο δεδομένων. Οι τύποι δεδομένων στην SQL είναι οι ίδιοι όπως σε άλλες γλώσσες προγραμματισμού.

Τύπος δεδομένωνΠεριγραφή
INTΑκεραίες
ΠΡΑΓΜΑΤΙΚΑΑριθμοί κυμαινόμενου σημείου
ΚΕΙΜΕΝΟΣειρά χαρακτήρων με μεταβλητό μήκος
Στις DATEsql ερώτημα "ημερομηνία" σε διάφορες μορφές
TIMEΏρα
CHARΓραμμές κειμένου σταθερού μήκους

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

δημιουργία ερωτημάτων sql

Μπορείτε να δημιουργήσετε νέες βάσεις δεδομένων, πίνακες και άλλα ερωτήματα στην SQL με δύο τρόπους:

  • SQL δηλώσεις μέσω της κονσόλας DBMS
  • Χρησιμοποιώντας εργαλεία διαδραστικής διαχείρισης που είναι μέρος του διακομιστή βάσης δεδομένων.

Δημιουργείται μια νέα βάση δεδομένων από τον χειριστή CREATE DATABASE <όνομα της βάσης δεδομένων>;. Όπως μπορείτε να δείτε, η σύνταξη είναι απλή και συνοπτική.

Δημιουργούμε τους πίνακες μέσα στη βάση δεδομένων με τη δήλωση CREATE TABLE με τις ακόλουθες παραμέτρους:

  • όνομα πίνακα
  • ονόματα στηλών και τύπους δεδομένων

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

ΣτήληΠεριγραφή
commodity_idΑναγνωριστικό προϊόντος
vendor_idΑναγνωριστικό προμηθευτή (προμηθευτές εξωτερικού πληκτρολογίου)
commodity_nameΌνομα προϊόντος
commodity_priceΚόστος
commodity_descΠεριγραφή

Δημιουργία πίνακα:

ΔΗΜΙΟΥΡΓΙΑ ΕΜΠΟΡΕΥΜΑΤΩΝ ΤΡΑΠΕΖΙΟΥ

(commodity_id CHAR (15) ΟΧΙ NULL,

vendor_id CHAR (15) ΟΧΙ ΝΕΟ,

όνομα_αντικειμένου CHAR (254) NULL,

commodity_price DECIMAL (8,2) NULL,

commodity_desc VARCHAR (1000) NULL).

Ο πίνακας αποτελείται από πέντε στήλες. Μετά το όνομα είναι το είδος των στηλών δεδομένων χωρίζονται με κόμμα. Η τιμή της στήλης μπορεί να αναλάβει null τιμές (NULL) ή πρέπει να συμπληρωθούν (NOT NULL), και είναι αποφασισμένη να δημιουργήσει έναν πίνακα.

Επιλογή δεδομένων από έναν πίνακα

ερωτήματα σε sql

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

ΕΠΙΛΕΞΤΕ όνομα_εμπορίου FROM Commodity

Μετά τη δήλωση SELECT, καθορίζουμε το όνομα της στήλης για την ανάκτηση των πληροφοριών και το FROM καθορίζει τον πίνακα.

Το αποτέλεσμα του ερωτήματος θα είναι όλες οι γραμμέςπίνακες με τις τιμές Commodity_name με τη σειρά με την οποία καταχωρήθηκαν στη βάση δεδομένων δηλ. χωρίς καμία ταξινόμηση. Για να παραγγείλετε το αποτέλεσμα, χρησιμοποιήστε την προαιρετική ρήτρα ORDER BY.

Για να ερωτήσετε πολλά πεδία, τα απαριθμούμε με κόμμα, όπως στο παρακάτω παράδειγμα:

SELECT commodity_id, commodity_name, commodity_price FROM Commodity

Είναι δυνατό να ληφθεί η τιμή όλων των στηλών της συμβολοσειράς ως αποτέλεσμα του ερωτήματος. Για να το κάνετε αυτό, χρησιμοποιήστε το σύμβολο "*":

SELECT * FROM Commodity

  • Επιπλέον, το SELECT υποστηρίζει:
  • Ταξινόμηση δεδομένων (ρήτρα ORDER BY)
  • Επιλογή σύμφωνα με τους όρους (WHERE)
  • Ομαδοποίηση (GROUP BY)

Προσθήκη μιας σειράς

ημερομηνία ερωτήματος sql

Για να προσθέσετε μια γραμμή στον πίνακα, χρησιμοποιήστε ερωτήματα SQL με τη δήλωση INSERT. Η προσθήκη μπορεί να γίνει με τρεις τρόπους:

  • προσθέστε μια εντελώς νέα γραμμή.
  • μέρος της γραμμής ·
  • αποτελέσματα ερωτήματος.

Για να προσθέσετε μια πλήρη γραμμή, πρέπει να καθορίσετε το όνομα του πίνακα και τις στήλες της νέας γραμμής. Ας δώσουμε ένα παράδειγμα:

ΕΙΣΑΓΩΓΗ ΣΕ ΤΙΜΕΣ ΕΜΠΟΡΕΥΜΑΤΩΝ ("106", "50", "Coca-Cola", "1.68", "No Alcogol")

Το παράδειγμα προσθέτει ένα νέο προϊόν στον πίνακα. Οι τιμές καθορίζονται μετά τις VALUES για κάθε στήλη. Αν δεν υπάρχει αντίστοιχη τιμή για τη στήλη, τότε πρέπει να καθορίσετε το NULL. Οι στήλες γεμίζονται με τιμές με τη σειρά που καθορίζεται κατά τη δημιουργία του πίνακα.

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

ΕΙΣΑΓΩΓΗ ΣΕ Εμπορεύματα (commodity_id, vendor_id, όνομα_εμπορευμάτων)

ΑΞΙΕΣ ("106", "50", "Coca-Cola"),

Καταχωρίσαμε μόνο τα αναγνωριστικά στοιχεία των προϊόντων, τον προμηθευτή και το όνομά του και τα υπόλοιπα πεδία παραμένουν κενά.

Προσθήκη αποτελεσμάτων ερωτήματος

Βασικά, INSERT χρησιμοποιείται για να προσθέσετε μια γραμμή, αλλά μπορεί να χρησιμοποιηθεί για την προσθήκη SELECT αποτελέσματα δήλωση.

Επεξεργασία δεδομένων

sql γλώσσα ερωτήματος

Για να αλλάξετε τις πληροφορίες στα πεδία του πίνακα βάσης δεδομένων, πρέπει να χρησιμοποιήσετε τη δήλωση UPDATE. Ο χειριστής μπορεί να χρησιμοποιηθεί με δύο τρόπους:

  • Όλες οι σειρές στον πίνακα ενημερώνονται.
  • Μόνο για μια συγκεκριμένη σειρά.

Το UPDATE αποτελείται από τρία βασικά στοιχεία:

  • τον πίνακα στον οποίο θέλετε να κάνετε αλλαγές.
  • τα ονόματα πεδίων και τις νέες τους αξίες.
  • συνθήκες για την επιλογή γραμμών για αλλαγή.

Ας εξετάσουμε ένα παράδειγμα. Ας πούμε το προϊόν με ID = 106 έχει αλλάξει την τιμή, έτσι ώστε αυτή η γραμμή για την ενημέρωση. Γράψτε την ακόλουθη δήλωση:

ΕΝΗΜΕΡΩΣΗ ΕΜΠΟΡΕΥΜΑΤΩΝ SET commodity_price = "3.2" WHERE commodity_id = "106"

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

Για να αλλάξετε πολλές στήλες μετά τη δήλωση SET, ορίστε πολλά ζεύγη αξιών στήλης, χωρισμένα με κόμματα. Εξετάζουμε ένα παράδειγμα με το οποίο ενημερώνονται το όνομα και η τιμή ενός προϊόντος:

UPDATE Εμπορεύματα SET commodity_name = 'Fanta', commodity_price = "3.2" WHERE commodity_id = "106"

Για να διαγράψετε πληροφορίες σε μια στήλη, μπορείτε να αντιστοιχίσετεείναι NULL αν το επιτρέπει η δομή του πίνακα. Πρέπει να θυμόμαστε ότι το NULL είναι ακριβώς "όχι" αξία, και όχι μηδέν με τη μορφή κειμένου ή αριθμού. Διαγράψτε την περιγραφή του προϊόντος:

ΕΝΗΜΕΡΩΣΗ ΠΡΟΪΟΝΤΟΣ SET commodity_desc = NULL WHERE commodity_id = "106"

Διαγραφή σειρών

sql ζητά παραδείγματα

Τα αιτήματα SQL για τη διαγραφή γραμμών στον πίνακα εκτελούνται με τη δήλωση DELETE. Υπάρχουν δύο χρήσεις:

  • ορισμένες σειρές διαγράφονται στον πίνακα.
  • όλες οι γραμμές στον πίνακα διαγράφονται.

Παράδειγμα διαγραφής μιας γραμμής από έναν πίνακα:

ΔΙΑΓΡΑΦΗ από το εμπόρευμα WHERE commodity_id = "106"

Μετά την DELETE FROM, καθορίστε το όνομα του πίνακα, στοτα οποία θα διαγραφούν. Η ρήτρα WHERE περιέχει μια προϋπόθεση για την επιλογή των γραμμών που θα διαγραφούν. Στο παράδειγμα, διαγράφουμε τη γραμμή στοιχείων με ID = 106. Είναι πολύ σημαντικό να καθορίσετε WHERE. η παράκαμψη αυτού του τελεστή θα έχει ως αποτέλεσμα την αφαίρεση όλων των γραμμών στον πίνακα. Αυτό ισχύει επίσης για την αλλαγή της αξίας των πεδίων.

Η εντολή DELETE δεν καθορίζει τα ονόματα των στηλών και τα μεταχαρακτήρια. Καταργεί εντελώς τις γραμμές και δεν μπορεί να διαγράψει μία στήλη.

Χρησιμοποιώντας SQL στην Access

ζητήματα πρόσβασης sql

Η Microsoft Access χρησιμοποιείται συνήθωςδιαδραστική λειτουργία για τη δημιουργία πινάκων, βάσεων δεδομένων, τη διαχείριση, την τροποποίηση, την ανάλυση δεδομένων στη βάση δεδομένων και την υλοποίηση ερωτημάτων SQL Access μέσω ενός εύχρηστου Interactive Designer, μέσω του οποίου μπορείτε να δημιουργήσετε και να εκτελέσετε άμεσα SQL δηλώσεις οποιασδήποτε πολυπλοκότητας.

Η λειτουργία πρόσβασης διακομιστή υποστηρίζεται επίσης, μεη οποία DBMS Access μπορεί να χρησιμοποιηθεί ως γεννήτρια επερωτήσεων SQL σε οποιαδήποτε πηγή δεδομένων ODBC. Αυτή η δυνατότητα επιτρέπει στις εφαρμογές της Access να αλληλεπιδρούν με βάσεις δεδομένων οποιασδήποτε μορφής.

Επεκτάσεις SQL

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

Οι πιο κοινές διαλέκτους της γλώσσας είναι:

  • Oracle Database - PL / SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL / pgSQL.

SQL στο Διαδίκτυο

Η βάση δεδομένων MySQL διανέμεται δωρεάντη γενική δημόσια άδεια GNU. Υπάρχει μια εμπορική άδεια με τη δυνατότητα ανάπτυξης προσαρμοσμένων ενοτήτων. Ως αναπόσπαστο μέρος των δημοφιλέστερων συναρμολογήσεων διακομιστών του Διαδικτύου, όπως οι XAMPP, WAMP και LAMP, και είναι η πιο δημοφιλής βάση δεδομένων για την ανάπτυξη εφαρμογών στο Διαδίκτυο.

Αναπτύχθηκε από τις Sun Microsystems καιπου υποστηρίζεται σήμερα από την Oracle. Υποστηρίζει βάσεις δεδομένων έως και 64 terabytes, την πρότυπη σύνταξη SQL: 2003, την αναπαραγωγή βάσεων δεδομένων και τις υπηρεσίες cloud.