Προγραμματισμός

SQL – Γρήγορος οδηγός για αρχάριους

30 Οκτωβρίου 2021

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

Νωρίτερα, ο χειρισμός δεδομένων γινόταν χρησιμοποιώντας ISAM (Μέθοδος διαδοχικής πρόσβασης με ευρετήριο) και VSAM (Μέθοδος πρόσβασης εικονικής αποθήκευσης) . Η δομημένη γλώσσα ερωτημάτων έχει περισσότερα πλεονεκτήματα από το ISAM και το VSM. Χρησιμοποιώντας μία μόνο εντολή στην SQL, μπορείτε να ανακτήσετε πολλαπλές εγγραφές ή δεδομένα. Ένα άλλο πλεονέκτημα είναι ότι δεν απαιτεί τον καθορισμό του τρόπου πρόσβασης στα δεδομένα.

Πίνακας περιεχομένων

Τι είναι η SQL;

SQL είναι μια γλώσσα για τη δημιουργία, το χειρισμό και τη συντήρηση της βάσης δεδομένων. Βοηθά επίσης να εισαγάγετε τα δεδομένα, να τα διαγράψετε ή να τα τροποποιήσετε. Αυτή η γλώσσα περιλαμβάνει πολλές υπογλώσσες, όπως γλώσσα ορισμού δεδομένων (DDL) , γλώσσα χειρισμού δεδομένων (DML) , Γλώσσα ερωτήματος δεδομένων (DQL) , και γλώσσα ελέγχου δεδομένων (DCL) .

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

Το 1986, η SQL έγινε η Αμερικανικό Εθνικό Ινστιτούτο Προτύπων (ANSI) πρότυπο. Την επόμενη χρονιά έγινε το Διεθνής Οργανισμός Τυποποίησης (ISO) πρότυπο. το 1970, Ντόναλντ Ντ. Τσάμπερλιν και Raymond F. Boyce ανέπτυξε την SQL στην IBM.

Παλαιότερα, ήταν γνωστή ως SEQUEL (Δομημένη Αγγλική Γλώσσα Ερωτημάτων). Σχεδιάστηκε ειδικά για την αποθήκευση και την ανάκτηση δεδομένων της IBM. Υπάρχουν διαφορετικές εκδόσεις SQL που κυκλοφόρησαν το 1989, το 1992, το 1996, το 1999, το 2003, το 2006, το 2008, το 2011 και το 2016.

Η SQL είναι η βασική γλώσσα για όλα τα συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων, όπως MySQL, Oracle, Sybase, SQL Server, MS Access, Postgres και Informix. Η χρήση αυτής της διαλέκτου ερωτήματος έχει πολλαπλά οφέλη. Η SQL επιτρέπει στους χρήστες να έχουν πρόσβαση στις πληροφορίες από οποιοδήποτε σύστημα διαχείρισης σχεσιακής βάσης δεδομένων.

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

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

Βάσεις δεδομένων RDBMS

Είδαμε ότι η SQL χρησιμοποιείται από πολλές βάσεις δεδομένων RDBMS, όπως MySQL, SQL Server, Oracle, MS Access, κ.λπ. Επομένως, σε αυτήν την ενότητα, θα μάθουμε μερικές βάσεις δεδομένων RDBMS. Θα δούμε τα χαρακτηριστικά κάθε βάσης δεδομένων και, στη συνέχεια, μπορούμε να αναγνωρίσουμε τη διαφορά μεταξύ τους.

ένας. MySQL:

Μια σουηδική εταιρεία, η MySQL AB, ανέπτυξε το MySQL βάση δεδομένων, η οποία είναι δωρεάν στη χρήση και ανοιχτού κώδικα. Η MySQL είναι συμβατή με όλα τα μεγάλα συστήματα, όπως τα Microsoft Windows, Linux λειτουργικά συστήματα , Unix και macOS. Μπορείτε να χρησιμοποιήσετε τις εμπορικές ή μη εκδόσεις του. Σύμφωνα με εκδόσεις, σας παρέχονται οι δυνατότητες. Ενσωματώνει έναν στιβαρό, ταχύτερο, πολλαπλών νημάτων και διακομιστή βάσης δεδομένων πολλών χρηστών.

Το 1994, ο Micheal Widenius και ο David Axmark ανέπτυξαν τη MySQL και προφέρεται στο πλαίσιο του «my ess-que-ell». Στις 23 Μαΐου 1995, κυκλοφόρησε η πρώτη έκδοση της βάσης δεδομένων MySQL. Αυτή η βάση δεδομένων ήταν συμβατή για εκτέλεση με το σύστημα Windows στις 8 Ιανουαρίου 1998. Κυκλοφόρησε για πρώτη φορά για Windows 95 και NT.

ο MySQL έκδοση 3.23: beta κυκλοφόρησε μεταξύ Ιουνίου 2000 και Ιανουαρίου 2001. Η επόμενη έκδοση, 4.0: beta, κυκλοφόρησε μεταξύ Αυγούστου 2002 και Μαρτίου 2003. Από τον Ιούνιο του 2004 έως τον Οκτώβριο του 2004, κυκλοφόρησε η έκδοση 4.1: beta. Η ακόλουθη έκδοση, 5.1: beta, δημιουργήθηκε από τον Μάρτιο του 2005 έως τον Οκτώβριο του 2005. Αργότερα το 2008, η MySQL αποκτήθηκε από τη Sun Microsystems και στη συνέχεια κυκλοφόρησε η τελευταία έκδοση 5.2: beta.

Χαρακτηριστικά:

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

δύο. Μαντείο:

Μαντείο είναι μία από τις ευρέως χρησιμοποιούμενες σχεσιακές βάσεις δεδομένων με συστήματα διαχείρισης πολλών χρηστών και μεγάλων. Η Oracle Corporation παρουσίασε τη σχεσιακή βάση δεδομένων oracle. Αυτό το DBMS είναι το πλέον κατάλληλο για λειτουργίες πελάτη/διακομιστή. Πολλοί πελάτες μπορούν να έχουν πρόσβαση και να στέλνουν δεδομένα μέσω του δικτύου. Η Oracle είναι συμβατή με συστήματα πελατών και διακομιστών, όπως UNIX, UnixWare, OS/2, NetWare και MSDOS.

Ο Larry Ellison, ο Ed Oates και ο Bob Miner ανέπτυξαν τη βάση δεδομένων Oracle το 1977 και ίδρυσαν Εργαστήρια Ανάπτυξης Λογισμικού. Το 1979, η έκδοση 2.0 Oracle κυκλοφόρησε τα επόμενα δύο χρόνια, η πρώτη εμπορική έκδοση της Oracle. Άλλαξαν το όνομα Software Development Laboratories σε Relational Software Inc. (RSI). Αυτός ο οργανισμός αργότερα ονομάστηκε Oracle Corporation το 1982. Η επόμενη έκδοση, 3.0, κυκλοφόρησε το 1983 στη γλώσσα C. Η έκδοση 4.0 της Oracle, που αναπτύχθηκε το 1984, περιλαμβάνει πιο προηγμένες λειτουργίες, όπως συνοχή ανάγνωσης πολλών εκδόσεων, έλεγχο συγχρονισμού κ.λπ. Το Oracle 11g, η πιο πρόσφατη έκδοση, κυκλοφόρησε το 2007.

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

3. Διακομιστής MS SQL:

Η σχεσιακή βάση δεδομένων από τη Microsoft είναι MS SQL Server . Ο πρωταρχικός στόχος αυτής της βάσης δεδομένων είναι η αποθήκευση και η ανάκτηση των δεδομένων στη βάση δεδομένων. Είναι συμβατό με Microsoft Windows, Linux και Windows Server λειτουργικά συστήματα. Ο MS SQL Server επιτρέπει σε οποιαδήποτε εφαρμογή λογισμικού, που υπάρχει στον ίδιο υπολογιστή ή στον διαφορετικό υπολογιστή ή στο δίκτυο, να ανακτήσει τα δεδομένα. Χρησιμοποιεί γλώσσες βάσης δεδομένων ANSI SQL και T-SQL.

Αρχικά, το 1987, ο SQL Server αναπτύχθηκε για συστήματα UNIX από τη Sybase. Το επόμενο έτος, η Microsoft, η Aston-Tate και η Sybase κυκλοφόρησαν τον SQL Server 1.0 για OS/2. Για χρήστες Windows 3.0, η έκδοση 1.1 του SQL Server κυκλοφόρησε το 1990. Αργότερα, η Aston-Tate αποχώρησε από τον οργανισμό και η Micorosft κυκλοφόρησε τον SQL Server 2000 το 2000. Τον επόμενο χρόνο, αναπτύχθηκε XML για αυτήν τη βάση δεδομένων. Το SQLXML 2.0 αναπτύχθηκε το 2002 και αργότερα κυκλοφόρησε το SQLXML 3.0. Η τελευταία έκδοση, SQL Server 2005, αναπτύχθηκε στις 7 Νοεμβρίου 2005.

Ο MS SQL Server διαθέτει κατοπτρισμό βάσης δεδομένων, ενεργοποιητές DDL, απρόσκοπτη ενσωμάτωση XML, αλληλογραφία βάσης δεδομένων, υψηλή απόδοση και υψηλή διαθεσιμότητα.

Τέσσερα. MS Access:

Μια άλλη δημοφιλής σχεσιακή βάση δεδομένων είναι η MS Access. Όπως η παραπάνω βάση δεδομένων, το MS Access είναι επίσης προϊόν της Microsoft. Αυτό το DBMS χρησιμοποιείται για επιχειρήσεις μικρής κλίμακας και είναι εξαιρετικά φθηνό. Ενσωματώνει μια μηχανή βάσης δεδομένων Jet. Αυτή η μηχανή ονομάζεται επίσης Jet SQL, καθώς χρησιμοποιεί τη γλώσσα SQL.

Το 1992, αναπτύχθηκε η πρώτη MS Access έκδοση 1.0. Τον επόμενο χρόνο, εξελίχθηκε με τη γλώσσα προγραμματισμού Access Basic για τη βελτίωση της συμβατότητας. Αργότερα, κυκλοφόρησε η Access 2007, η οποία χρησιμοποιούσε τη μορφή ACCDB. Αυτή η έκδοση MS Access είναι προηγμένη και περιλαμβάνει σύνθετους τύπους δεδομένων και πεδία πολλαπλών τιμών.

Η MS Access χρησιμοποιεί μακροεντολές για συνδεδεμένους πίνακες, φόρμες, αναφορές και ερωτήματα. Χρησιμοποιώντας αυτό το σύστημα, μπορείτε να εξάγετε και να εισάγετε τα δεδομένα σας σε διάφορες μορφές, όπως ASCII, Oracle, ODBC, SQL Server, κ.λπ. Η μορφή Jet συγκρατεί την εφαρμογή και τα δεδομένα της μαζί σε ένα αρχείο. Επομένως, η κοινή χρήση οποιασδήποτε εφαρμογής είναι εύκολη. Δεν υποστηρίζει ενεργοποιήσεις βάσης δεδομένων, αποθηκευμένες διαδικασίες και καταγραφή συναλλαγών, καθώς είναι ένα σύστημα που βασίζεται σε διακομιστή αρχείων.

Τι είναι το RDBMS;

Σχεδόν όλα τα τρέχοντα συστήματα βάσεων δεδομένων, όπως SQL, Oracle, MySQL, Microsoft Access, κ.λπ., χρησιμοποιούν το σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων. Αυτό το σύστημα βάσης δεδομένων βασίζεται στο σχεσιακό μοντέλο. Ο E. F. Codd πρότεινε το σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων. Υπάρχουν ορισμένα στοιχεία στο RDBMS που πρέπει να γνωρίζετε πριν προχωρήσουμε προς την SQL. Ας συζητήσουμε κάθε πτυχή παρακάτω.

ένας. Τραπέζι:

Στο RDBMS, τα δεδομένα αποθηκεύονται με τη μορφή πίνακα. Αυτός ο πίνακας αναφέρεται ως αντικείμενο. Λέγεται και α σχέση . Ένας πίνακας στο RDBMS έχει γραμμές και στήλες. Κάθε πίνακας στο RDBMS έχει ένα συγκεκριμένο όνομα πίνακα. Ένας πίνακας θεωρείται η απλούστερη φόρμα αποθήκευσης δεδομένων.

Ας θεωρήσουμε ότι ο πίνακας έχει το όνομα του πίνακα, 'Student'. Θα αποθηκεύσουμε τις πληροφορίες μαθητή στον πίνακα Student, όπως Όνομα, Ηλικία, Student_ID και City.

ΟνομαΗλικίαStudent_IDΠόλη
Στέφανος231092Νέα Υόρκη
Όλιβερ241093Οι άγγελοι
Ροβέρτοςείκοσι ένα1094Σικάγο
Μαρία251095Καλιφόρνια
Τζένιφερ231096Νέα Υόρκη
Τζέιμς221097Ουάσιγκτον
Γιάννηςείκοσι ένα1098Καλιφόρνια
γιαννάκης241099Σικάγο

Ο παραπάνω πίνακας παρέχει πληροφορίες για τους μαθητές.

δύο. Πεδίο:

Το επόμενο στοιχείο RDBMS είναι το πεδίο. Ένα πεδίο είναι η μικρότερη οντότητα του πίνακα. Για παράδειγμα, στον παραπάνω πίνακα, τα πεδία 'Μαθητής', Όνομα, Ηλικία, Αναγνωριστικό_φοιτητή και Πόλη είναι πεδία. Επομένως, κάθε στήλη στον πίνακα είναι ένα πεδίο, το οποίο αποθηκεύει τη συγκεκριμένη πληροφορία ή εγγραφή.

3. Σειρά:

Μια σειρά αναφέρεται επίσης ως ρεκόρ. Η εγγραφή ή η σειρά περιέχει πληροφορίες για τη συγκεκριμένη οντότητα. Στον παραπάνω πίνακα, 'Μαθητής', υπάρχουν οκτώ διαφορετικές σειρές ή εγγραφές. Με άλλα λόγια, ο παραπάνω πίνακας περιέχει τα δεδομένα οκτώ διαφορετικών μαθητών. Μια μεμονωμένη οριζόντια οντότητα είναι μια σειρά ή μια εγγραφή. Ακολουθεί μια σειρά ή μια εγγραφή από τον πίνακα 'Μαθητής'.

|_+_|

Τέσσερα. Στήλη:

Είδαμε ότι μια σειρά είναι μια οριζόντια οντότητα. Σε αντίθεση με τη σειρά, η στήλη είναι μια κάθετη οντότητα. Μια στήλη περιέχει όλα τα δεδομένα που σχετίζονται με το πεδίο. Στον πίνακα 'Student', τα πεδία Όνομα, Ηλικία, Student_ID και City είναι πεδία. Επομένως, μια στήλη με το πεδίο «Όνομα» περιέχει τα ονόματα των μαθητών. Αυτή η στήλη αντιπροσωπεύεται ως εξής:

|_+_|

5. ΜΗΔΕΝΙΚΟ:

Όταν δεν υπάρχουν δεδομένα σε ένα συγκεκριμένο πεδίο ή υπάρχει κενός χώρος στο πεδίο, αυτή η τιμή είναι η τιμή NULL. Η τιμή NULL δεν είναι ίδια με το μηδέν. Διατηρείται κενό κατά τη δημιουργία της εγγραφής.

Βασικά στοιχεία SQL

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

Σύνταξη SQL

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

    Ρήτρες:

Οι όροι είναι το προαιρετικό μέρος του ερωτήματος. Είναι τα στοιχεία του ερωτήματος. Για παράδειγμα, UPDATE, SET, WHERE, κ.λπ., είναι οι όροι.

    Εκφράσεις:

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

    Κατηγορήματα:

Τα κατηγορήματα είναι συνθήκες, οι οποίες παράγουν λογική τριών τιμών (True/ False/ Unknown).

    Ερωτήματα:

Τα ερωτήματα ανακτούν τα απαιτούμενα δεδομένα από τη βάση δεδομένων χρησιμοποιώντας συνθήκες.

    Δηλώσεις:

Οι δηλώσεις ελέγχουν τη ροή του προγράμματος, τις συναλλαγές, τις συνδέσεις κ.λπ. Μπορεί επίσης να περιλαμβάνει ένα ερωτηματικό «;.»

    Ασήμαντα κενά:

Τα ανεπιθύμητα κενά δεν λαμβάνονται υπόψη στο ερώτημα SQL, καθιστώντας το πιο κατανοητό και ευανάγνωστο.

Εδώ θα δούμε μικρά παραδείγματα χρησιμοποιώντας τρεις ρήτρες, ενημέρωση, σετ και πού.

  1. ΕΝΗΜΕΡΩΣΗ ηλικίας.

Το παραπάνω ερώτημα ενημερώνει το χαρακτηριστικό ηλικίας.

  1. SET ηλικία = ηλικία+2;

Τα παραπάνω περιλαμβάνουν μια έκφραση «ηλικία+2», η οποία αυξάνει την ηλικία κατά δύο, και το αποτέλεσμα εκχωρείται στην ηλικία.

  1. WHERE emp_name = 'John';

Εδώ, το 'emp_name = 'John' είναι κατηγόρημα και το 'John' είναι μια έκφραση.

Επεξεργασία ερωτήματος

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

img 617dd1be21877

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

Το πρόγραμμα βελτιστοποίησης ερωτημάτων μετατρέπει την εσωτερική αναπαράσταση του ερωτήματος σε εκφράσεις, οι οποίες μπορούν να εκτελεστούν. Στη συνέχεια, αυτές οι εκφράσεις εκτελούνται από τη μηχανή DBMS ή τη μηχανή αξιολόγησης ερωτημάτων. Το αποτέλεσμα της μηχανής DBMS δίνεται στο φυσικό επίπεδο της βάσης δεδομένων.

Ρήτρες SQL

Ο όρος στην SQL είναι ένα στοιχείο του ερωτήματος. Υπάρχουν πολλές ρήτρες στην SQL. Ας δούμε αναλυτικά κάθε πρόταση με την παρακάτω σύνταξη.

    Ρήτρα ΕΠΙΛΟΓΗΣ:

Όταν θέλετε να ανακτήσετε τα δεδομένα από τις καθορισμένες στήλες ή γραμμές, μπορείτε να χρησιμοποιήσετε τον όρο SELECT. Μπορεί επίσης να ανακτήσει τα δεδομένα από τις σειρές πολλών πινάκων ή προβολών. Το σύνολο αποτελεσμάτων της πρότασης επιλογής είναι επίσης ένας πίνακας.

Σύνταξη:

|_+_|
    ΔΙΑΚΡΙΤΗ ρήτρα:

Ο όρος DISTINCT χρησιμοποιείται με τον όρο SELECT. Επιστρέφει μοναδικές και διαφορετικές τιμές. Δεν υπάρχουν διπλότυπες τιμές στο σύνολο αποτελεσμάτων.

Σύνταξη:

|_+_|
    Ρήτρα WHERE:

Η ρήτρα Where χρησιμοποιείται για τον καθορισμό της συνθήκης για την ανάκτηση των δεδομένων. Εμφανίζει τις μόνες σειρές που καθορίζονται από τη συνθήκη.

Σύνταξη:

|_+_|
    ΟΜΑΔΑ ΑΝΑ ρήτρα:

Αυτή η ρήτρα ομαδοποιεί τις σειρές που έχουν παρόμοιες τιμές σε ένα σύνολο αποτελεσμάτων. Ο όρος GROUP BY χρησιμοποιείται πάντα σε ένα ερώτημα με συναρτήσεις όπως SUM, MAX, MIN, COUNT και AVG.

Σύνταξη:

|_+_|
    ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ:

Όταν υπάρχει ανάγκη να ταξινομήσετε το αποτέλεσμα σε αύξουσα ή φθίνουσα σειρά, μπορείτε να χρησιμοποιήσετε τη δήλωση ORDER BY. Από προεπιλογή, αυτή η δήλωση ταξινομεί το αποτέλεσμα σε αύξουσα σειρά. Εάν θέλετε να τακτοποιήσετε το σύνολο των αποτελεσμάτων με φθίνουσα σειρά, μπορείτε να καθορίσετε «dec» στο ερώτημα.

Σύνταξη:

|_+_|
    ΕΧΟΝΤΑΣ:

Ο πρωταρχικός στόχος της λέξης-κλειδιού HAVING είναι ότι χρησιμοποιείται μόνο με συγκεντρωτικές συναρτήσεις, όπως SUM, MIN, MAX, COUNT και AVG. Η λέξη-κλειδί WHERE δεν είναι συμβατή με συγκεντρωτικές συναρτήσεις.

Σύνταξη:

|_+_|

Εντολές σε SQL

Οι εντολές SQL κατηγοριοποιούνται σε πέντε διαφορετικούς τύπους, DDL, DML, DQL, TCL και DCL. Θα γνωρίσουμε κάθε έναν από αυτούς τους τρεις τύπους λεπτομερώς παρακάτω.

    DDL:

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

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

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|

Μια άλλη εντολή, το alter, χρησιμοποιείται για την τροποποίηση ή την πραγματοποίηση αλλαγών σε μια υπάρχουσα προβολή ή πίνακα. Χρησιμοποιώντας την εντολή alter, μπορείτε να προσθέσετε μια νέα στήλη στον πίνακα ή να αλλάξετε την υπάρχουσα στήλη ενός συγκεκριμένου πίνακα.

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|

Η εντολή περικοπής DDL διαγράφει όλες τις σειρές από τον πίνακα. Σημειώστε ότι δεν διαγράφει τον πίνακα.

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|

Τέλος, η εντολή drop διαγράφει τον πίνακα ή την προβολή. Διαγράφει εντελώς τη δομή του πίνακα και τα δεδομένα που είναι αποθηκευμένα στον πίνακα.

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|
    DML:

Η γλώσσα χειρισμού δεδομένων περιλαμβάνει τρεις εντολές, εισαγωγή, διαγραφή και ενημέρωση. Αυτές οι εντολές τροποποιούν τα δεδομένα του πίνακα. Σε αντίθεση με τις εντολές DDL, οι εντολές DML δεν δεσμεύονται αυτόματα. Όταν χρησιμοποιείτε οποιαδήποτε από τις τρεις εντολές, πρέπει να χρησιμοποιήσετε τη λέξη-κλειδί «commit» για να αποθηκεύσετε μόνιμα τις αλλαγές.

Η εντολή INSERT εισάγει τα δεδομένα στον πίνακα. Κάθε φορά που προστίθενται νέα δεδομένα στον πίνακα, ο αριθμός των πλειάδων αυξάνεται.

Σύνταξη:

|_+_|

Ή

|_+_|

Παράδειγμα:

|_+_|

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

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|

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

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|
    DCL:

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

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

Σύνταξη:

|_+_|

Η δήλωση REVOKE είναι αντίθετη από τη δήλωση GRANT. Αφαιρεί όλα τα προνόμια από τον χρήστη πρόσβαση στη βάση δεδομένων .

|_+_|
    DQL:

Υπάρχει μόνο μία εντολή στη γλώσσα ερωτημάτων δεδομένων, SELECT. Αυτή η εντολή χρησιμοποιείται για την επιλογή συγκεκριμένων χαρακτηριστικών από τον πίνακα. Επιλέγει χαρακτηριστικά ανάλογα με την συνθήκη WHERE που καθορίζεται.

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|
    TCL:

Η γλώσσα ελέγχου συναλλαγών περιλαμβάνει τρεις εντολές, δέσμευση, επαναφορά και σημείο αποθήκευσης. Μπορείτε να χρησιμοποιήσετε τις δηλώσεις TCL μόνο με τις εντολές DML. Δεν μπορούν να χρησιμοποιηθούν με δηλώσεις DDL, καθώς αποθηκεύουν αυτόματα τις αλλαγές μόνιμα στη βάση δεδομένων.

Η δήλωση commit αποθηκεύει μόνιμα όλες τις αλλαγές που έγιναν στον πίνακα της βάσης δεδομένων.

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|

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

Σύνταξη:

|_+_|

Παράδειγμα:

|_+_|

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

Σύνταξη:

|_+_|

Ακεραιότητα δεδομένων

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

SQL

Το παραπάνω διάγραμμα απεικονίζει διαφορετικούς περιορισμούς που ομαδοποιούνται σε τρεις κατηγορίες, την ακεραιότητα οντότητας, την ακεραιότητα αναφοράς και την ακεραιότητα τομέα.

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

Ενημερώστε μας τώρα και τις τρεις παραπάνω κατηγορίες ακεραιότητας δεδομένων.

    Ακεραιότητα οντότητας:

Στην ακεραιότητα της οντότητας, κάθε πλειάδα του πίνακα προσδιορίζεται μοναδικά χρησιμοποιώντας τους παρακάτω τρεις περιορισμούς:

  • Περιορισμός NOT NULL: Διασφαλίζει ότι δεν υπάρχει τιμή NULL στον πίνακα ή στη στήλη.
  • ΜΟΝΑΔΙΚΟΣ Περιορισμός: Αυτός ο κανόνας καθορίζει ότι η στήλη στον πίνακα θα έχει μοναδικές τιμές. Καμία τιμή στη στήλη δεν θα επαναληφθεί.
  • ΚΥΡΙΑΚΟ κλειδί: Όταν εφαρμόζετε αυτόν τον περιορισμό σε οποιαδήποτε στήλη του πίνακα, αυτή η στήλη θα προσδιορίζει μοναδικά κάθε γραμμή ή πλειάδα του πίνακα.
    Αναφορική ακεραιότητα:

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

  • Ξένο κλειδί: Θα προσδιορίσει μοναδικά μια σειρά ή πλειάδα ενός άλλου πίνακα. Το πρωτεύον κλειδί ενός πίνακα πρέπει να υπάρχει ως χαρακτηριστικό στον άλλο πίνακα. Ένα τέτοιο χαρακτηριστικό αναφέρεται ως Ξένο κλειδί.
    Ακεραιότητα τομέα:

Η ακεραιότητα τομέα χρησιμοποιείται για να διασφαλιστεί ότι όλες οι τιμές στον πίνακα ακολουθούν τους καθορισμένους κανόνες.

  • DEFAULT Constraint: Εκχωρεί την προεπιλεγμένη τιμή στη στήλη όταν δεν αναφέρεται η συγκεκριμένη τιμή.
  • Περιορισμοί CHECK: Όταν θέλετε να επαληθεύσετε ότι όλες οι τιμές στηλών ικανοποιούν την καθορισμένη συνθήκη, μπορείτε να εφαρμόσετε τον περιορισμό CHECK.

INDEX: Όταν θέλετε να ανακτήσετε ή να δημιουργήσετε τα δεδομένα της βάσης δεδομένων, μπορείτε να χρησιμοποιήσετε το INDEX.

Κανονοποίηση βάσης δεδομένων

Η κανονικοποίηση της βάσης δεδομένων είναι η διαδικασία οργάνωσης των δεδομένων στη βάση δεδομένων σε μια καλά δομημένη μορφή. Υπάρχουν διάφορες κανονικές μορφές σε κανονικοποίηση βάσης δεδομένων , που βοηθά στην εξάλειψη του πλεονασμού και στη βελτίωση της ακεραιότητας των δεδομένων. Ο E. F. Codd πρότεινε την έννοια της κανονικοποίησης της βάσης δεδομένων. Υπάρχουν δύο κύριοι λόγοι για την κανονικοποίηση της βάσης δεδομένων.

  • Αφαίρεση επαναλαμβανόμενων δεδομένων από τη βάση δεδομένων.
  • Διασφάλιση ότι όλες οι εξαρτήσεις δεδομένων είναι σωστές και έχουν νόημα.

Η κατάργηση περιττών δεδομένων θα βοηθήσει στην απελευθέρωση χώρου στο δίσκο. Χρησιμοποιώντας την κανονικοποίηση της βάσης δεδομένων, μπορείτε να δημιουργήσετε μια καλή βάση δεδομένων και να αποθηκεύσετε τα δεδομένα σε αυτήν λογικά. Υπάρχουν διαφορετικές κανονικές μορφές στην κανονικοποίηση της βάσης δεδομένων, οι οποίες σας βοηθούν να δημιουργήσετε μια καλά δομημένη βάση δεδομένων. Αυτές οι κανονικές μορφές δίνονται παρακάτω:

  • Πρώτη κανονική φόρμα
  • Δεύτερη κανονική μορφή
  • Τρίτη κανονική μορφή
  • Boyce Codd Normal Form
  • Τέταρτη κανονική μορφή
  • Πέμπτη κανονική μορφή

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

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

Κάθε σχεσιακή βάση δεδομένων δεν υποστηρίζει όλους τους τύπους δεδομένων SQL. Η σχεσιακή βάση δεδομένων Oracle δεν υποστηρίζει τον τύπο δεδομένων DATETIME και η βάση δεδομένων MySQL δεν υποστηρίζει τον τύπο δεδομένων CLOB. Υπάρχουν ορισμένες συγκεκριμένες βάσεις δεδομένων, οι οποίες έχουν επιπλέον ξεχωριστούς τύπους δεδομένων. Στον Microsoft SQL Server, άλλοι τύποι δεδομένων είναι «χρήματα» και «μικρά χρήματα». Ας συζητήσουμε τώρα κάθε τύπο δεδομένων παρακάτω.

ένας. Αριθμητικός τύπος δεδομένων

Υπάρχουν έντεκα διαφορετικοί τύποι αριθμητικών δεδομένων στην SQL, οι οποίοι κατηγοριοποιούνται σε δύο ομάδες. Η πρώτη ομάδα περιέχει ακριβείς τύπους αριθμητικών δεδομένων και η δεύτερη έχει κατά προσέγγιση τύπους αριθμητικών δεδομένων. Οι ακριβείς τύποι αριθμητικών δεδομένων περιλαμβάνουν bigint, int, smallint, tinyint, δεκαδικό, money, numeric, smallmoney και bit. Και οι κατά προσέγγιση τύποι αριθμητικών δεδομένων περιλαμβάνουν float και real. Οι παρακάτω πίνακες θα απεικονίσουν τις κυμαινόμενες τιμές των ακριβών και κατά προσέγγιση τύπων δεδομένων.

Ακριβείς τύποι δεδομένων

Τύπος δεδομένων Από Προς το Αποθήκευση
κομμάτι0ένας
bigint-9.223.372.036.854.775.8089.223.372.036.854.775.8078 byte
μικροσκοπικός02551 byte
μικρά χρήματα-214.748,3648+214.748.36474 byte
χρήματα-922.337.203.685.477,5808+922.337.203.685.477.58078 byte
μικρών διαστάσεων-32.76832.7672 byte
ενθ-2.147.483.6482.147.483.6474 byte
αριθμητικός-10^38 +110^38-15 – 17 byte
δεκαδικός-10^38 +110^38-15 – 17 byte

Κατά προσέγγιση τύποι δεδομένων

Τύπος δεδομένων Από Προς το Αποθήκευση
πραγματικός-3,40Ε + 383,40Ε + 384 ή 8 byte
φλοτέρ-1,79E + 3081,79E + 3084 byte

δύο. Ημερομηνία και ώρα

Ο τύπος δεδομένων ημερομηνίας και ώρας έχει τέσσερις διαφορετικούς τύπους δεδομένων, datetime, date, time και smalldatetime. Ενημερώστε μας τώρα τις τιμές εμβέλειας κάθε τύπου δεδομένων ημερομηνίας και ώρας.

Τύπος δεδομένων Από Προς το Αποθήκευση
smalldatetime1 Ιανουαρίου 19006 Ιουνίου 20794 byte
ημερομηνία ώρα1 Ιανουαρίου 175331 Δεκεμβρίου 99998 byte
ημερομηνία ώρα 21 Ιανουαρίου 000131 Δεκεμβρίου 99996 – 8 byte
ημερομηνίαΑυτός ο τύπος δεδομένων αποθηκεύει την ημερομηνία με τη μορφή 30 Ιουνίου 1991.3 byte
χρόνοςΑυτός ο τύπος δεδομένων αποθηκεύει την ώρα σε μορφή 12:30 μ.μ.3 – 5 byte

3. Χαρακτήρας και Χορδή

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

    απανθρακώνω

Ο τύπος δεδομένων χαρακτήρων είναι σταθερού μήκους και έχει μέγιστο όριο μεγέθους 8.000 χαρακτήρες.

    varchar

Αυτός ο τύπος δεδομένων είναι μεταβλητού μήκους, με μέγιστο όριο μεγέθους 8.000 χαρακτήρες.

    κείμενο

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

    varchar (μέγ.)

Αυτός ο τύπος δεδομένων είναι επίσης μεταβλητού μήκους, με μέγιστο όριο μεγέθους 2E + 31.

Όλοι οι παραπάνω τύποι δεδομένων δεν είναι Unicode.

Τέσσερα. Δυάδικος:

Υπάρχουν τέσσερις δυαδικοί τύποι δεδομένων στην SQL: δυαδικός, varbinary, varbinary(max) και image. Παρακάτω είναι μια σύντομη περιγραφή καθενός από αυτούς τους τύπους δεδομένων.

    δυάδικος

Αυτός ο τύπος δεδομένων είναι σταθερού μήκους, με μέγιστο όριο μήκους 8.000 byte.

    βαρβινικό

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

    varbinary(max)

Όπως το varbinary, το varbinary(max) είναι επίσης ένας τύπος δεδομένων μεταβλητού μήκους, με μέγιστο όριο μεγέθους 2E + 31 byte. Χρησιμοποιείται μόνο στον SQL Server 2005.

    εικόνα

Η εικόνα είναι επίσης δυαδικά δεδομένα μεταβλητού μήκους με μέγιστο όριο τα 2.147.483.647 byte.

5. Τύπος δεδομένων Unicode

Αυτή η ομάδα έχει επίσης τέσσερις διαφορετικούς τύπους δεδομένων: nchar, nvarchar, nvarchar(max) και ntext.

    nchar

Το nchar είναι ένας τύπος δεδομένων Unicode σταθερού μήκους, με μέγιστο μήκος 4.000 byte.

    nvarchar

Σε αντίθεση με το nchar, το nvarchar είναι ένα Unicode μεταβλητού μήκους με μέγιστο όριο μεγέθους 4.000 byte.

    nvarchar(μέγιστο)

Το nvarchar(max) είναι συμβατό μόνο με τη βάση δεδομένων του SQL Server 2005. Έχει μέγιστο όριο μεγέθους 2E + 31 και έχει μεταβλητό μήκος.

    ntext

Το ntext είναι ένα Unicode μεταβλητού μήκους με μέγιστο μήκος 1.073.741.823 byte.

6. Διάφορα

Ακολουθούν οι τύποι δεδομένων που εμπίπτουν στη διάφορη ομάδα.

    sql_variant: Διατηρεί τις τιμές όλων των τύπων δεδομένων που υποστηρίζονται από τη βάση δεδομένων του SQL Server, εκτός από τη χρονική σήμανση, το κείμενο και το ntext.μοναδικό αναγνωριστικό: Αυτός ο τύπος δεδομένων περιέχει ένα GUID, ένα παγκοσμίως μοναδικό αναγνωριστικό.δρομέας: Αναφέρεται σε ένα αντικείμενο δρομέα.χρονική σφραγίδα: Είναι ένας μοναδικός αριθμός που αλλάζει κάθε φορά που τροποποιείται οποιαδήποτε σειρά στη βάση δεδομένων.xml: Υποστηρίζεται από τον SQL Server 2005 και διατηρεί δεδομένα xml.τραπέζι: Περιέχει ένα σύνολο αποτελεσμάτων, το οποίο χρησιμοποιείται για μελλοντικούς σκοπούς.

SQL Operators

Οι τελεστές είναι οι δεσμευμένες λέξεις ή χαρακτήρες. Προορίζονται για την εκτέλεση συγκεκριμένων λειτουργιών. Συνήθως, ένας τελεστής χρησιμοποιείται στον όρο WHERE για να καθορίσει τη συνθήκη. Ένας τελεστής μπορεί να είναι αριθμητικός, λογικός ή συγκριτικός. Μπορείτε επίσης να χρησιμοποιήσετε έναν τελεστή για να συνδυάσετε δύο συνθήκες στην ίδια πρόταση. Στην SQL, υπάρχουν τρεις διαφορετικοί τύποι τελεστών, οι αριθμητικοί, οι συγκρίσεις και οι λογικοί τελεστές.

ένας. Αριθμητικοί τελεστές

Ένας αριθμητικός τελεστής μπορεί να εκτελέσει αριθμητικές πράξεις, όπως πρόσθεση, αφαίρεση, πολλαπλασιασμό, μέτρο και διαίρεση. Ας πάρουμε το «a, έχοντας την τιμή 15» ως μία μεταβλητή και το «b, έχοντας την τιμή 30» ως άλλη μεταβλητή. Θα δούμε ένα παράδειγμα για κάθε αριθμητικό τελεστή παρακάτω.

Χειριστής Περιγραφή Παράδειγμα
+Ο τελεστής «+» εκτελεί την πρόσθεση των δύο μεταβλητών.α+β=15+30=45
Ο τελεστής '-' αφαιρεί τη δεξιά μεταβλητή από την αριστερή μεταβλητή.α-β =15-30=-15
%Το «%» παράγει το υπόλοιπο ως προς το αποτέλεσμά του όταν η αριστερή μεταβλητή διαιρείται με τη δεξιά μεταβλητή.b/a=30%15=0
/Το '/' εκτελεί διαίρεση. Η αριστερή τιμή μεταβλητής διαιρείται με τη δεξιά τιμή μεταβλητής.β/α =30/15=2
*Το «*» πολλαπλασιάζει δύο μεταβλητές.α*β=15*30=450

δύο. Λογικοί τελεστές

Εδώ, θα δούμε όλους τους λογικούς τελεστές που χρησιμοποιούνται στην SQL με τις σύντομες περιγραφές τους.

  • ΚΑΙ: AND χρησιμοποιείται για το συνδυασμό πολλών συνθηκών σε μία πρόταση SQL.
  • BETWEEN: Αυτός ο τελεστής χρησιμοποιείται για τον καθορισμό του εύρους τιμών. Μπορείτε να ορίσετε την ελάχιστη και τη μέγιστη τιμή χρησιμοποιώντας τη λέξη-κλειδί BETWEEN.
  • IN: Όταν εφαρμόζετε τη λέξη-κλειδί IN, συγκρίνει μια μεμονωμένη τιμή με όλες τις άλλες κυριολεκτικές τιμές που υπάρχουν σε μια καθορισμένη λίστα.
  • ΟΧΙ: Αυτός ο τελεστής χρησιμοποιείται με άλλους λογικούς τελεστές, όπως EXISTS, BETWEEN. Για παράδειγμα, μπορείτε να κάνετε αίτηση ΔΕΝ ΥΠΑΡΧΕΙ, ΟΧΙ ΜΕΣΑ, ΔΕΝ ΜΕΣΑ κ.λπ.
  • IS NULL: Όταν θέλετε να συγκρίνετε οποιαδήποτε τιμή με την τιμή NULL, μπορείτε να χρησιμοποιήσετε IS NULL.
  • ALL: Αυτός ο τελεστής χρησιμοποιείται για τη σύγκριση μιας τιμής σε ένα σύνολο με όλες τις άλλες τιμές σε ένα άλλο σύνολο.
  • ΟΠΟΙΑΔΗΠΟΤΕ: Συγκρίνει μια τιμή με οποιαδήποτε πρακτική αξία στη λίστα.
  • ΥΠΑΡΧΕΙ: Ελέγχει εάν υπάρχει μια συγκεκριμένη σειρά στον πίνακα.
  • LIKE: Όταν θέλετε να συγκρίνετε μια τιμή με παρόμοια τιμή, χρησιμοποιήστε τη λέξη-κλειδί LIKE.
  • OR: Όπως το AND, το OR συνδυάζει επίσης αρκετές συνθήκες στην πρόταση WHERE.
  • ΜΟΝΑΔΙΚΟ: Αυτή η λέξη-κλειδί επαληθεύει τη μοναδικότητα κάθε σειράς στον πίνακα.

3. Χειριστές σύγκρισης

Για την αναγνώριση των τελεστών σύγκρισης, θα πάρουμε δύο μεταβλητές, την a και την b. Έστω «α» 15 «β» 20.

Χειριστής Περιγραφή Παράδειγμα
Ελέγχει αν οι τιμές των δύο μεταβλητών είναι ίσες ή όχι. Εάν δεν είναι ίσα, επιστρέφει true, διαφορετικά όχι true.(αβ) =(1530)=αληθής
==Όπως, το == ελέγχει επίσης τις δύο μεταβλητές για ίσες τιμές. Εάν οι τιμές είναι ίσες, επιστρέφει true.(α==β)=(15==30)=δεν ισχύει
!=Το '!=' είναι παρόμοιο με το '.' Παράγει επίσης true αν οι τιμές και των δύο μεταβλητών δεν είναι ίσες.(αβ) =(1530)=αληθής
>Εάν η τιμή της αριστερής μεταβλητής είναι μεγαλύτερη από τη δεξιά μεταβλητή, το '>' επιστρέφει true.(a>b)=(15>30)= δεν είναι αληθές
!>Το '!>' είναι αντίθετο από τον τελεστή '>'. Επιστρέφει true εάν η αριστερή τιμή μεταβλητής δεν είναι μεγαλύτερη από τη δεξιά τιμή μεταβλητής.(α!>β)=(15!>30)= αληθές
>=Εάν ο αριστερός τελεστής είναι μεγαλύτερος ή ίσος με τον δεξιό τελεστή, η συνθήκη γίνεται αληθής.(a=30)= δεν είναι αληθές
<Εάν η αριστερή τιμή μεταβλητής είναι μικρότερη από τη δεξιά τιμή μεταβλητής,<’ returns true. (προς το
!<'!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. (προς το
<=Εάν ο αριστερός τελεστής είναι μικρότερος ή ίσος με τον δεξιό τελεστή, η συνθήκη γίνεται αληθής.(προς το<=b)=(15<=30)= true

Εκφράσεις SQL

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

Σύνταξη:

|_+_|

Υπάρχουν τρία είδη εκφράσεων που χρησιμοποιούνται στην SQL, boolean, αριθμητική και ημερομηνία.

ένας. Εκφράσεις Boolean

Η δυαδική έκφραση ανακτά τα δεδομένα που ταιριάζουν με μια μεμονωμένη τιμή. Ανακτά τις σειρές που ταιριάζουν με την τιμή που καθορίζεται στην EXPRESSION.

Σύνταξη:

|_+_|

Νωρίτερα, δημιουργήσαμε τον πίνακα, με όνομα πίνακα, 'Student'. Θα ανακτήσουμε τα δεδομένα του χρησιμοποιώντας την πρόταση SELECT.

|_+_|

Παραγωγή:

|_+_|

Τώρα, θα ανακτήσουμε τα δεδομένα που ταιριάζουν με την τιμή Student_ID = 1098. Μόνο μία σειρά θα εμφανίζεται ως εξής.

|_+_|

Αποτέλεσμα:

|_+_|

δύο. Αριθμητική παράσταση

Οι αριθμητικές εκφράσεις είναι μαθηματικές πράξεις. Εκφράζεται ως εξής:

Σύνταξη:

|_+_|

Μπορείτε να εκτελέσετε οποιαδήποτε μαθηματική πράξη χρησιμοποιώντας αριθμητικές παραστάσεις. Ακολουθεί ένα παράδειγμα που επεξηγεί τη μαθηματική πράξη χρησιμοποιώντας μια αριθμητική έκφραση.

|_+_|

Παραγωγή:

|_+_|

Μπορείτε επίσης να συμπεριλάβετε αθροιστικές συναρτήσεις στην αριθμητική έκφραση: avg(), max(), count(), min() και sum(). Τώρα, θα μετρήσουμε τον αριθμό των εγγραφών ή των γραμμών στον πίνακα 'Student'.

|_+_|

Παραγωγή:

|_+_|

3. Εκφράσεις ημερομηνίας

Οι εκφράσεις ημερομηνίας είναι η πιο επιθυμητή έκφραση στην SQL, η οποία παρέχει την τρέχουσα ημερομηνία και ώρα του συστήματος. Ας δούμε το ερώτημα για την εμφάνιση της τρέχουσας ημερομηνίας και ώρας του συστήματος.

|_+_|

Παραγωγή:

|_+_|

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

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

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

Σύνταξη:

|_+_|

Πρέπει να βεβαιωθείτε ότι το όνομα της βάσης δεδομένων πρέπει να είναι μοναδικό και διαφορετικό. Δεν πρέπει να χρησιμοποιείται πριν.

Ας δημιουργήσουμε τώρα τη βάση δεδομένων με το όνομα .

|_+_|

Για τη δημιουργία οποιασδήποτε βάσης δεδομένων, πρέπει να έχετε το δικαίωμα διαχειριστή. Μπορείτε να δείτε όλες τις βάσεις δεδομένων που δημιουργήθηκαν χρησιμοποιώντας την εντολή «ΕΜΦΑΝΙΣΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ». Έχουμε δημιουργήσει πολλές βάσεις δεδομένων νωρίτερα: school_info, softwaretesttips, test, company και origin.

|_+_|

Αποτέλεσμα:

|_+_|

Η παραπάνω έξοδος εμφανίζει τη λίστα των βάσεων δεδομένων που δημιουργήθηκαν.

δύο. Απόθεση βάσης δεδομένων

Ας υποθέσουμε ότι θέλουμε να διαγράψουμε μία από τις παραπάνω βάσεις δεδομένων. Για το σκοπό αυτό, χρησιμοποιείται η δήλωση «DROP DATABASE».

Σύνταξη:

|_+_|

Σκεφτείτε ότι θέλουμε να διαγράψουμε τη βάση δεδομένων «δοκιμής» από το σχήμα SQL. Όταν διαγράφετε οποιαδήποτε βάση δεδομένων, όλα τα δεδομένα που υπάρχουν σε αυτήν θα διαγράφονται. Πρέπει επίσης να έχετε το δικαίωμα διαχειριστή για τη διαγραφή της βάσης δεδομένων.

|_+_|

Έχουμε διαγράψει τη βάση δεδομένων «δοκιμής». Ας δούμε τώρα τη λίστα των βάσεων δεδομένων που υπάρχουν στο σχήμα.

|_+_|

Παραγωγή:

|_+_|

3. Χρησιμοποιήστε και επιλέξτε Βάση δεδομένων

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

Σύνταξη:

|_+_|

Θα επιλέξουμε μία βάση δεδομένων «softwaretesttips» από τη λίστα της βάσης δεδομένων μας στην οποία θα εκτελέσουμε όλες τις λειτουργίες της βάσης δεδομένων.

|_+_|

Οτιδήποτε δημιουργείτε, πίνακες ή προβάλλετε, θα υπάρχει στη βάση δεδομένων «softwaretesttips».

Αυτό ήταν όλο το γρήγορο σεμινάριο για την SQL. Τώρα θα δημιουργήσουμε έναν πίνακα στη βάση δεδομένων «softwaretesttips» και θα εκτελέσουμε όλες τις λειτουργίες SQL σε αυτόν τον πίνακα.

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

Είδαμε τη σύνταξη δημιουργίας πίνακα και το παράδειγμα. Η δήλωση αυτή γράφεται ως εξής:

|_+_|

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

Τώρα θα δημιουργήσουμε τον πίνακα χρησιμοποιώντας τη δήλωση «δημιουργία πίνακα». Ας δημιουργήσουμε έναν πίνακα «ΕΡΓΑΖΟΜΕΝΟΣ», ο οποίος αποθηκεύει τα δεδομένα των εργαζομένων. Θα δημιουργήσουμε πέντε χαρακτηριστικά για αυτόν τον πίνακα: Emp_ID, Όνομα, Ηλικία, Πόλη και Μισθός.

|_+_|

Δημιουργήσαμε τον πίνακα 'ΕΡΓΑΖΟΜΕΝΟΣ' με τα χαρακτηριστικά του EMP_ID, ΟΝΟΜΑ, ΗΛΙΚΙΑ, ΠΟΛΗ και ΜΙΣΘΟΣ. Το πρωτεύον κλειδί του πίνακα 'EMPLOYEE' είναι EMP_ID, το οποίο δεν πρέπει να είναι NULL. Επιπλέον, τα χαρακτηριστικά NAME και AGE δεν θα πρέπει επίσης να είναι NULL.

Αφού γράψετε την παραπάνω δήλωση δημιουργίας πίνακα, θα δείτε το μήνυμα «ο πίνακας δημιουργήθηκε με επιτυχία» στην οθόνη. Όταν θέλετε να δείτε τα χαρακτηριστικά του πίνακα ή του σχήματος πίνακα, πληκτρολογήστε την παρακάτω εντολή:

|_+_|

Παραγωγή:

|_+_|

Μπορούμε να ρίξουμε τον πίνακα «ΕΡΓΑΖΟΜΕΝΟΣ» χρησιμοποιώντας τη δήλωση DROP.

|_+_|


Μετά την απόρριψη του πίνακα, διαγράφεται από τη βάση δεδομένων. Εάν προσπαθήσετε να εκτελέσετε την εντολή «DESC», θα προκύψει σφάλμα ως εξής:

|_+_|

Εισαγάγετε τιμές στον πίνακα

Μάθαμε πώς να δημιουργήσουμε έναν πίνακα σε μια συγκεκριμένη βάση δεδομένων και να τον απορρίψουμε από τη βάση δεδομένων. Τώρα, θα επικεντρωθούμε στην εισαγωγή των δεδομένων στον πίνακα. Στην αρχή αυτού του άρθρου, είδαμε πώς να γράψουμε την πρόταση εισαγωγής. Εδώ, θα μάθουμε να γράφουμε την πρόταση εισαγωγής χρησιμοποιώντας το παράδειγμα.

Θα πάρουμε τον παραπάνω πίνακα, «ΥΠΑΛΛΗΛΟΣ» και θα εισαγάγουμε δεδομένα εργαζομένων σε αυτόν χρησιμοποιώντας τη λέξη-κλειδί εισαγωγής. Υπάρχουν δύο τρόποι εισαγωγής των δεδομένων στον πίνακα.

|_+_|

Μια άλλη απλούστερη μορφή σύνταξης της δήλωσης INSERT είναι:

|_+_|

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

Ας εισαγάγουμε τώρα τα δεδομένα των εργαζομένων στον πίνακα ΕΡΓΑΖΟΜΕΝΩΝ.

|_+_|

Έχουμε εισαγάγει τα δεδομένα έξι υπαλλήλων χρησιμοποιώντας την πρώτη μορφή. Ας εισαγάγουμε τα δεδομένα ενός υπαλλήλου χρησιμοποιώντας τη δεύτερη μορφή.

|_+_|

Τώρα, υπάρχουν επτά εγγραφές ή σειρές στον πίνακα ΕΡΓΑΖΟΜΕΝΟΣ. Για την εμφάνιση των δεδομένων στον πίνακα EMPLOYEE, χρησιμοποιείται η δήλωση SELECT. Ας εστιάσουμε τώρα στη δήλωση SELECT.

Δήλωση SELECT

Η δήλωση SELECT χρησιμοποιείται για την ανάκτηση των δεδομένων από έναν συγκεκριμένο πίνακα. Όταν ανακτούμε τα δεδομένα χρησιμοποιώντας τη δήλωση SELECT, επιστρέφει τα δεδομένα στη μορφή πίνακα. Νωρίτερα, έχουμε πώς να γράψουμε τη δήλωση SELECT.

|_+_|

Η παραπάνω δήλωση θα εμφανίζει μόνο τη στήλη 1 και τη στήλη 2 από τον καθορισμένο πίνακα. Εάν θέλετε να εμφανίσετε όλα τα δεδομένα ενός συγκεκριμένου πίνακα, χρησιμοποιείται το «*» αντί να προσδιορίζονται όλες οι στήλες.

|_+_|

Θα εμφανίσουμε όλα τα δεδομένα από τον πίνακα ΕΡΓΑΖΟΜΕΝΩΝ.

|_+_|

Παραγωγή:

|_+_|

Ας υποθέσουμε ότι θέλετε να ανακτήσετε μόνο το όνομα και την ταυτότητα των υπαλλήλων. μπορείτε να καθορίσετε το EMP_ID και το NAME στη δήλωση SELECT.

|_+_|

Παραγωγή:

|_+_|

Ρήτρα WHERE

Η ρήτρα WHERE χρησιμοποιείται για τον καθορισμό της συνθήκης για την ανάκτηση των δεδομένων. Χρησιμοποιείται επίσης για συνδυασμό δύο διαφορετικών τραπεζιών. Όταν εφαρμόζετε τη συγκεκριμένη συνθήκη στον όρο WHERE, τα δεδομένα ανακτώνται μόνο εάν η συνθήκη είναι αληθής. Η λέξη-κλειδί WHERE χρησιμοποιείται συνήθως όταν οι χρήστες χρειάζονται συγκεκριμένες πληροφορίες. Αυτή η λέξη-κλειδί χρησιμοποιείται στις δηλώσεις DELETE και UPDATE.

|_+_|

Σε αυτήν την κατάσταση, μπορούμε να χρησιμοποιήσουμε λογικούς τελεστές και τελεστές σύγκρισης. Σκεφτείτε τον πίνακα ΕΡΓΑΖΟΜΕΝΩΝ. Ας ανακτήσουμε τώρα όλες τις ταυτότητες υπαλλήλων, τα ονόματα και τους μισθούς των οποίων ο μισθός είναι μεγαλύτερος ή ίσος με 40.000. Επομένως, θα καθορίσουμε την προϋπόθεση ως μισθός >= 40.000 στην ρήτρα WHERE.

|_+_|

Παραγωγή:

|_+_|

Το σύνολο αποτελεσμάτων περιέχει όλα τα αναγνωριστικά, τα ονόματα και τους μισθούς υπαλλήλων, των οποίων ο μισθός είναι μεγαλύτερος ή ίσος με 40.000.

Εάν η συνθήκη σας στην πρόταση WHERE περιέχει συμβολοσειρά, γράψτε την στα μονά εισαγωγικά (‘ ‘). Ας ανακτήσουμε το όνομα, την ταυτότητα και την ηλικία ενός υπαλλήλου που έχει το όνομα Μαίρη.

|_+_|

Παραγωγή:

|_+_|

AND and OR Operators

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

Όταν συνδυάζετε συνθήκες χρησιμοποιώντας τον τελεστή AND, επιστρέφει το αποτέλεσμα μόνο εάν πληρούνται όλες οι προϋποθέσεις. Δεν θα επιστρέψει τα δεδομένα εάν πληρούται κάποια από τις προϋποθέσεις. Γνωρίζουμε ότι οι τελεστές χρησιμοποιούνται στη λέξη-κλειδί WHERE. Είναι γραμμένο ως εξής:

|_+_|

Μπορείτε να καθορίσετε διάφορες προϋποθέσεις. Σκεφτείτε τον πίνακα ΕΡΓΑΖΟΜΕΝΩΝ. Ας ανακτήσουμε τώρα το όνομα, την ταυτότητα, την ηλικία και τον μισθό των υπαλλήλων των οποίων η ηλικία είναι μεγαλύτερη από 40 και ο μισθός είναι μεγαλύτερος ή ίσος με 35.000.

|_+_|

Παραγωγή:

|_+_|

Τα δεδομένα των εργαζομένων ανακτώνται όταν ισχύουν και οι δύο συνθήκες.

Ο χειριστής OR συνδυάζει επίσης δύο ή περισσότερες συνθήκες. Σε αντίθεση με τη λέξη-κλειδί AND, δεν χρειάζεται να ισχύουν όλες οι συνθήκες που καθορίζονται στη λέξη-κλειδί WHERE χρησιμοποιώντας τον όρο OR. Ακόμα κι αν μια μεμονωμένη συνθήκη είναι αληθής, θα γράψει τα δεδομένα στο σύνολο αποτελεσμάτων. Μπορείτε να καθορίσετε διάφορες συνθήκες χρησιμοποιώντας τη λέξη-κλειδί OR όπως δίνεται παρακάτω:

|_+_|

Από τον πίνακα ΕΡΓΑΖΟΜΕΝΟΣ, θα ανακτήσουμε το όνομα, την πόλη και τον μισθό, των οποίων η πόλη είναι η Καλιφόρνια ή ο μισθός είναι 30.000.

|_+_|

Παραγωγή:

|_+_|

Το παραπάνω σύνολο αποτελεσμάτων περιέχει όλα τα ονόματα εργαζομένων που είτε ζουν στην Καλιφόρνια είτε έχουν μισθό 30.000.

Ρήτρα ΕΛΕΓΧΟΥ

Όταν θέλετε να φιλτράρετε το αποτέλεσμά σας σε πιο συγκεκριμένα δεδομένα, χρησιμοποιείται η ρήτρα HAVING. Μπορείτε να εφαρμόσετε μόνο συγκεντρωτικές συναρτήσεις στη λέξη-κλειδί HAVING, η οποία θα καθορίσει την προϋπόθεση για την ανάκτηση δεδομένων. Ακολουθεί η μορφή γραφής της λέξης-κλειδιού HAVING:

|_+_|

Θα πάρουμε τον πίνακα, έχοντας τον πίνακα-όνομα, ΕΡΓΑΖΟΜΕΝΟΣ2. Ο πίνακας έχει ως εξής:

|_+_| |_+_|

Παραγωγή:

|_+_|

Αθροιστικές Συναρτήσεις

Συγκεντρωτικές συναρτήσεις στο διαχείρηση βάσης δεδομένων το σύστημα λαμβάνει πολλαπλά δεδομένα από εγγραφές και επιστρέφει μία μόνο τιμή μετά τους υπολογισμούς. Υπάρχουν πέντε διαφορετικές αθροιστικές συναρτήσεις: sum(), avg(), count(), min() και max(). Όλες αυτές οι συναρτήσεις μπορούν να εφαρμοστούν μόνο στα αριθμητικά δεδομένα, εκτός από τη συνάρτηση count(). Ας συζητήσουμε αναλυτικά κάθε λειτουργία παρακάτω. Θα πάρουμε τον πίνακα ΕΡΓΑΖΟΜΕΝΩΝ για την κατανόηση των συναρτήσεων συγκεντρωτικών με παραδείγματα.

|_+_|
    Αθροισμα():Η συνάρτηση sum() επιστρέφει το άθροισμα όλων των αριθμών που υπάρχουν στη στήλη. Στον παραπάνω πίνακα, θα αθροίσουμε όλους τους μισθούς των εργαζομένων χρησιμοποιώντας τη συνάρτηση sum(). Παίρνει πολλά δεδομένα και επιστρέφει μία μόνο τιμή.
|_+_|

Αποτέλεσμα:

|_+_|
    Μέσος ():Η συνάρτηση avg() επιστρέφει επίσης μία τιμή. Υπολογίζει το άθροισμα όλων των αριθμών δεδομένων που υπάρχουν σε μια στήλη και το διαιρεί με τον συνολικό αριθμό των στηλών. Η συνάρτηση avg() υπολογίζει τον μέσο όρο όλων των αριθμητικών δεδομένων.
|_+_|

Αποτέλεσμα:

|_+_|
    Μέγιστη():Όταν πρέπει να βρείτε τη μέγιστη τιμή από το σύνολο δεδομένων, μπορείτε να εφαρμόσετε τη συνάρτηση max() σε μια συγκεκριμένη στήλη. Επιστρέφει επίσης μια μεμονωμένη τιμή στο σύνολο αποτελεσμάτων.
|_+_|

Παραγωγή:

|_+_|
    Ελάχ. ():Η συνάρτηση min() είναι αντίθετη από αυτή της συνάρτησης max(). Επιστρέφει την ελάχιστη τιμή από τη συγκεκριμένη στήλη.
|_+_|

Παραγωγή:

|_+_|
    Μετρώ():Η Count() χρησιμοποιείται για να μετρήσει τον αριθμό των εγγραφών στον πίνακα. Μπορείτε να εφαρμόσετε τη συνάρτηση count() σε όλους τους τύπους δεδομένων του πίνακα. Λαμβάνει επίσης υπόψη τα NULL και τα διπλά δεδομένα. Εάν θέλετε να αφαιρέσετε διπλότυπα δεδομένα, πρέπει να προσθέσετε τη λέξη-κλειδί DISTINCT.
|_+_|

Παραγωγή:

|_+_|

Η συνάρτηση count() επιστρέφει τον αριθμό των τύπων στον πίνακα EMPLOYEE.

|_+_|

Παραγωγή:

|_+_|

Εδώ, χρησιμοποιήσαμε τη λέξη-κλειδί DISTINCT με τη συνάρτηση count() στη στήλη CITY. Επέστρεψε τον αριθμό των διακριτών ονομάτων πόλεων. Μπορείτε επίσης να προσθέσετε τη φράση WHERE με τη συνάρτηση count().

|_+_|

Παραγωγή:

|_+_|

Έχουμε έναν αριθμό εργαζομένων των οποίων η ηλικία είναι μεγαλύτερη από 40.

Ενημέρωση λέξης-κλειδιού

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

|_+_|

Εάν πρέπει να εφαρμόσετε τις αλλαγές σε δύο ή περισσότερες εγγραφές, μπορείτε να εφαρμόσετε τελεστές AND και OR. Πάρτε το τραπέζι ΕΡΓΑΖΟΜΕΝΩΝ. Θα ενημερώσουμε την ηλικία ενός υπαλλήλου, με ID 405. Θα ορίσουμε την ηλικία των 37 στα 40.

|_+_|

Όταν ενημερώνετε την ηλικία ενός υπαλλήλου που έχει ID 405, αυτή η αλλαγή θα αντικατοπτρίζεται στον πίνακα. Θα ξέρουμε πώς θα φαίνεται ο πίνακας ΕΡΓΑΖΟΜΕΝΩΝ μετά την τροποποίηση.

Παραγωγή:

|_+_|

Τώρα ας υποθέσουμε ότι θέλετε να αλλάξετε τον μισθό και την ηλικία ενός υπαλλήλου με ID 407. Θα ορίσουμε τον μισθό σε 55.000 και την ηλικία στα 35.

|_+_|

Παραγωγή:

|_+_|

Ο παραπάνω πίνακας περιέχει τα ενημερωμένα δεδομένα.

ΔΙΑΓΡΑΦΗ ερωτήματος

Όταν θέλετε να διαγράψετε οποιαδήποτε εγγραφή από τον πίνακα, χρησιμοποιείται η λέξη-κλειδί διαγραφής. Εάν θέλετε να διαγράψετε τη συγκεκριμένη πλειάδα ή σειρά, προσθέστε τη λέξη-κλειδί WHERE για τον καθορισμό της συνθήκης. Συνδυάστε διάφορες συνθήκες χρησιμοποιώντας τελεστές AND ή OR. Μπορείτε να γράψετε το ερώτημα διαγραφής όπως δίνεται παρακάτω:

|_+_|

Για παράδειγμα, πάρτε τον πίνακα ΕΡΓΑΖΟΜΕΝΩΝ. Θα διαγράψουμε το αρχείο υπαλλήλου με το αναγνωριστικό υπαλλήλου 405.

|_+_|

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

Παραγωγή:

|_+_|

Εάν θέλετε να διαγράψετε όλες τις σειρές από τον πίνακα, χρησιμοποιήστε το παρακάτω ερώτημα,

|_+_|

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

ΠΑΡΑΓΓΕΛΙΑ ΑΠΟ ρήτρα

Μπορείτε να παραγγείλετε τα δεδομένα στηλών σας σε αύξουσα ή φθίνουσα σειρά χρησιμοποιώντας τη φράση ΣΕΙΡΑ ΚΑΤΑ. Από προεπιλογή, τα δεδομένα στηλών είναι ταξινομημένα με αύξουσα σειρά. Ακολουθήστε την παρακάτω μορφή για να γράψετε τη ΣΕΙΡΑ ΚΑΤΑ φράση.

|_+_|

Η λίστα στηλών πρέπει να περιέχει όλες τις στήλες που θέλετε να ταξινομήσετε ή να τακτοποιήσετε με τη σειρά. Πάρτε τον ίδιο πίνακα ΕΡΓΑΖΟΜΕΝΩΝ για να κατανοήσετε αυτήν τη φράση με ένα απλό παράδειγμα. Θα προσθέσουμε το όνομα της στήλης, το ΟΝΟΜΑ και το ΜΙΣΘΟΣ στη λίστα στηλών.

|_+_|

Ο πίνακας θα είναι ταξινομημένος σύμφωνα με τα ονόματα σε αύξουσα σειρά.

Παραγωγή:

|_+_|

Τώρα, θα δημιουργήσουμε τον πίνακα με φθίνουσα σειρά χρησιμοποιώντας τη στήλη ΟΝΟΜΑ.

|_+_|

Παραγωγή:

|_+_|

ΟΜΑΔΑ ΑΠΟ ρήτρα

Για πανομοιότυπη ομαδοποίηση δεδομένων, χρησιμοποιείται ο όρος GROUP BY. Η λέξη-κλειδί WHERE ακολουθείται πάντα από την ρήτρα GROUP BY και η GROUP BY ακολουθεί η ρήτρα ORDER BY. Ομαδοποιεί παρόμοια δεδομένα σε ομάδες που καθορίζονται από τη συνθήκη στον όρο WHERE. Η ρήτρα GROUP BY γράφεται ως εξής:

|_+_|

Θα εφαρμόσουμε τη φράση GROUP BY στον άλλο πίνακα. Σκεφτείτε τον παρακάτω πίνακα ΕΡΓΑΖΟΜΕΝΟΣ1.

|_+_|

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

|_+_|

Παραγωγή:

|_+_|

DISTINCT Λέξη-κλειδί

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

|_+_|

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

|_+_|

Παραγωγή:

|_+_|

Στο παραπάνω σύνολο αποτελεσμάτων, υπάρχουν διπλά δεδομένα, δηλ. 30.000 υπάρχουν σε δύο διαφορετικές σειρές. Όταν εφαρμόζουμε τη λέξη-κλειδί DISTINCT, το αποτέλεσμα δεν θα περιέχει διπλότυπα δεδομένα.

|_+_|

Παραγωγή:

|_+_|

SQL JOIN

ΣΤΗ SQL, το join συνδυάζει εγγραφές από δύο ή περισσότερους πίνακες σε έναν ενιαίο πίνακα. Το JOIN είναι μια πηγή για το συνδυασμό πινάκων χρησιμοποιώντας τις κοινές στήλες σε πίνακες. Θα δούμε ένα παράδειγμα αναγνώρισης του τρόπου με τον οποίο πραγματοποιείται το JOIN.

Θα πάρουμε δύο πίνακες και θα ενώσουμε αυτούς τους δύο πίνακες με βάση το κοινό χαρακτηριστικό μεταξύ τους. Πάρτε το τραπέζι ΕΡΓΑΖΟΜΕΝΩΝ. Θα δημιουργήσουμε άλλον πίνακα, ΤΜΗΜΑ.

|_+_|

Τώρα έχουμε δύο τραπέζια. Θα ενώσουμε αυτούς τους δύο πίνακες και θα εμφανίσουμε το σύνολο αποτελεσμάτων. Υπάρχει ένα κοινό χαρακτηριστικό και στους δύο πίνακες, EMP_ID.

|_+_|

Το αποτέλεσμα είναι το εξής:

|_+_|

Στην πρόταση WHERE, μπορούμε να ενώσουμε πίνακες ή σχέσεις χρησιμοποιώντας διάφορους τελεστές: , =, BETWEEN, !, NOT, κ.λπ. Η ένωση μπορεί να χωριστεί σε διάφορους τύπους. Η ένωση INNER ενώνει πίνακες και επιστρέφει το αποτέλεσμα των δεδομένων που ταιριάζει μεταξύ των δύο σχέσεων. Μια άλλη ένωση είναι η ένωση LEFT, η οποία επιστρέφει όλα τα δεδομένα από τον αριστερό πίνακα. Εάν δεν υπάρχει αντιστοιχία για τον αριστερό πίνακα με τον δεξιό πίνακα, γράφεται NULL. Η ένωση RIGHT παράγει όλα τα δεδομένα από τον σωστό πίνακα. Για τον σωστό πίνακα του οποίου η αντιστοίχιση δεν είναι διαθέσιμη, γράψτε NULL.

Αριστερά Συμμετοχή

Η αριστερή ένωση συνδυάζει δύο σχέσεις που έχουν ένα κοινό χαρακτηριστικό σε αυτές. Μπορείτε να καθορίσετε τις στήλες που θα εμφανίζονται και από τις δύο σχέσεις. Όλα τα δεδομένα από τον αριστερό πίνακα υπάρχουν στο σύνολο αποτελεσμάτων. Για τα δεδομένα του δεξιού πίνακα που δεν ταιριάζουν με τα δεδομένα του αριστερού πίνακα, γράφεται NULL. Θα δούμε ένα παράδειγμα του αριστερού συνδέσμου χρησιμοποιώντας ΕΡΓΑΖΟΜΕΝΟ και ΤΜΗΜΑ.

|_+_|

ΤΜΗΜΑ

|_+_|

Θα γράψουμε τώρα το ερώτημα για τη σύνδεση αυτών των δύο σχέσεων χρησιμοποιώντας τη λέξη-κλειδί LEFT JOIN.

|_+_|

Αποτέλεσμα:

|_+_|

Δεξιά Συμμετοχή

Η δεξιά ένωση ενώνει επίσης δύο πίνακες. Όταν εφαρμόσουμε τη δεξιά ένωση σε δύο σχέσεις, θα εμφανιστούν όλα τα δεδομένα του δεξιού πίνακα που ταιριάζουν με τον αριστερό πίνακα. Για τον αριστερό πίνακα που δεν ταιριάζει με τα δεδομένα του δεξιού πίνακα, γράφεται NULL. Θα πάρουμε τις ίδιες δύο σχέσεις, ΕΡΓΑΖΟΜΕΝΟΣ και ΤΜΗΜΑ, για να κατανοήσουμε τη σωστή λέξη-κλειδί ένωσης.

|_+_|

Παραγωγή:

|_+_|

συμπέρασμα

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

Αυτή η ανάρτηση είναι η γρήγορη αναφορά SQL, η οποία θα παρέχει βασικές γνώσεις σχετικά με τον χειρισμό των δεδομένων στη βάση δεδομένων. Έχουμε δει όλες τις βασικές συντακτικές εντολών DML, DDL, TCL, DQL, DCL. Αργότερα, μάθαμε διαφορετικές ρήτρες, ακεραιότητα δεδομένων, τύπους δεδομένων, τελεστές και εκφράσεις. Στην επόμενη ενότητα, έχουμε δει παραδείγματα δημιουργίας, χειρισμού και απόθεσης των δεδομένων στη βάση δεδομένων.