Φύλλο εξαπάτησης SQL

Εισαγωγή εικόνας SQL Cheat Sheet


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

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

Αλλά πριν φτάσουμε στο ίδιο το cheat sheet, για προγραμματιστές που μπορεί να μην είναι εξοικειωμένοι με το SQL, ας ξεκινήσουμε με…

Τι είναι το SQL

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

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

Μια βασική σχεσιακή βάση δεδομένων

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

Ακολουθεί ένα παράδειγμα ερωτήματος:-

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες?

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

Παράδειγμα πίνακα χρηστών

Αν αντικαταστήσαμε τον χαρακτήρα μπαλαντέρ με αστερίσκο (*) με συγκεκριμένα ονόματα στηλών, μόνο τα δεδομένα από αυτές τις στήλες θα επιστραφούν από το ερώτημα.

ΕΠΙΛΕΞΤΕ το πρώτο όνομα, το τελευταίο όνομα από τους χρήστες.

Παράδειγμα πίνακα χρηστών με μειωμένες στήλες

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

ΕΠΙΛΕΞΤΕ * ΑΠΟ προϊόντα ΠΟΥ ΑΠΟΤΕΛΟΥΝ ΤΟ stock_count <= 10 ORDER BY stock_count ASC;

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

Η χρήση της λέξης-κλειδιού ORDER BY σημαίνει ότι τα αποτελέσματα θα ταξινομηθούν χρησιμοποιώντας τη στήλη stock_count, χαμηλότερες τιμές έως υψηλότερες.

Παράδειγμα πίνακα προϊόντων

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

INSERT INTO χρήστες (όνομα_συνόλου, επώνυμο, διεύθυνση, email)
ΤΙΜΕΣ ('Tester', 'Jester', '123 Fake Street, Sheffield, Ηνωμένο Βασίλειο', '[email protected]');

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

Παράδειγμα πίνακα με νέα σειρά

Φυσικά, αυτά τα παραδείγματα δείχνουν μόνο μια πολύ μικρή επιλογή του τι είναι ικανή η γλώσσα SQL.

SQL εναντίον MySQL

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

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

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

Εκτός από τη MySQL, υπάρχουν και άλλα συστήματα που εφαρμόζουν SQL. Μερικά από τα πιο δημοφιλή περιλαμβάνουν:

  • PostgreSQL
  • SQLite
  • Βάση δεδομένων Oracle
  • Διακομιστής Microsoft SQL

Εγκατάσταση MySQL

Παράθυρα

Ο προτεινόμενος τρόπος για να εγκαταστήσετε το MySQL στα Windows είναι χρησιμοποιώντας το πρόγραμμα εγκατάστασης που μπορείτε να κατεβάσετε από το Ιστοσελίδα MySQL.

Εγκαταστήστε το MySQL Windows

MacOS

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

Εγκαταστήστε το MySQL Mac

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

brew εγκατάσταση mysql

Αν και πρέπει να εγκαταστήσετε την παλαιότερη έκδοση 5.7 της MySQL, η οποία εξακολουθεί να χρησιμοποιείται ευρέως σήμερα στον Ιστό, μπορείτε:

brew install [προστασία με email]

Χρήση της MySQL

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

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

  • Πάγκος εργασίας MySQL αναπτύχθηκε από την Oracle, τον ιδιοκτήτη της MySQL.
  • HeidiSQL (Συνιστώμενα Windows) είναι μια δωρεάν εφαρμογή ανοιχτού κώδικα για Windows. Για χρήστες macOS και Linux, Κρασί απαιτείται πρώτα ως προϋπόθεση.
  • phpMyAdmin είναι μια πολύ δημοφιλής εναλλακτική λύση που λειτουργεί στο πρόγραμμα περιήγησης ιστού.
  • Sequel Pro (Συνιστώμενο macOS) είναι η μόνη εναλλακτική λύση του macOS και το αγαπημένο μας χάρη στη σαφή και εύχρηστη διεπαφή του.

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

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

Dummy βάση δεδομένων MySQL

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

Παράδειγμα Sequel Pro

Αυτό το παράδειγμα ερωτήματος επιστρέφει όλες τις χώρες με τη βασίλισσα Ελισάβετ ΙΙ ως αρχηγό του κράτους ����.

Παράδειγμα Sequel Pro

Ενώ αυτό επιστρέφει όλες τις ευρωπαϊκές χώρες με πληθυσμό άνω των 50 εκατομμυρίων μαζί με την πρωτεύουσα και τον πληθυσμό της.

Παράδειγμα Sequel Pro

Και αυτός ο τελικός επιστρέφει το μέσο ποσοστό των Γάλλων ομιλητών σε χώρες όπου ο συνολικός αριθμός των Γάλλων ομιλητών είναι υψηλότερος από 10%.

Παράδειγμα Sequel Pro

Σκονάκι

Λέξεις-κλειδιά

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

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

Λέξεις-κλειδιά SQL
Λέξη-κλειδίΠεριγραφή
ΠΡΟΣΘΗΚΗΠροσθέτει μια νέα στήλη σε έναν υπάρχοντα πίνακα.

Παράδειγμα: Προσθέτει μια νέα στήλη με το όνομα "email_address" σε έναν πίνακα με το όνομα "χρήστες".

Χρήστες ALTER TABLE
ΠΡΟΣΘΗΚΗ email_address varchar (255);
ΠΡΟΣΘΗΚΗ ΠΕΡΙΓΡΑΦΗΔημιουργεί έναν νέο περιορισμό σε έναν υπάρχοντα πίνακα, ο οποίος χρησιμοποιείται για τον καθορισμό κανόνων για οποιαδήποτε δεδομένα στον πίνακα.

Παράδειγμα: Προσθέτει έναν νέο περιορισμό ΠΡΩΤΟΒΟΥΛΙΟΥ ΚΛΕΙΔΙ με όνομα «χρήστης» στις στήλες ID και SURNAME.

Χρήστες ALTER TABLE
ΠΡΟΣΘΗΚΗ ΠΡΟΣΩΡΙΝΟΥ ΚΛΕΙΔΙΟΥ χρήστη (ID, SURNAME).
ALTER ΠΙΝΑΚΑΣΠροσθέτει, διαγράφει ή επεξεργάζεται στήλες σε έναν πίνακα. Μπορεί επίσης να χρησιμοποιηθεί για την προσθήκη και διαγραφή περιορισμών σε έναν πίνακα, σύμφωνα με τα παραπάνω.

Παράδειγμα: Προσθέτει μια νέα στήλη boolean που ονομάζεται "εγκεκριμένη" σε έναν πίνακα με την ονομασία "προσφορές".

Προσφορές ALTER TABLE
ADD εγκρίθηκε boolean;

Παράδειγμα 2: Διαγράφει τη στήλη "εγκεκριμένη" από τον πίνακα "προσφορές"

Προσφορές ALTER TABLE
Το DROP COLUMN εγκρίθηκε.
ALTER ΣΤΗΛΗΑλλάζει τον τύπο δεδομένων μιας στήλης πίνακα.

Παράδειγμα: Στον πίνακα "χρήστες", μετατρέψτε τη στήλη "incept_date" σε τύπο "ώρα ώρας".

Χρήστες ALTER TABLE
ALTER COLUMN incept_date ημερομηνία ώρας.
ΟΛΑΕπιστρέφει αληθές εάν όλες οι τιμές υποερωτηρίων πληρούν την κατάσταση που πέρασε.

Παράδειγμα: Επιστρέφει τους χρήστες με μεγαλύτερο αριθμό εργασιών από τον χρήστη με τον υψηλότερο αριθμό εργασιών στο τμήμα HR (id 2)

SELECT first_name, επώνυμο, task_no
ΑΠΟ χρήστες
WHERE tasks_no> ALL (ΕΠΙΛΟΓΗ εργασιών ΑΠΟ χρήστη WHERE department_id = 2);
ΚΑΙΧρησιμοποιήθηκε για την ένωση ξεχωριστών συνθηκών σε μια ρήτρα WHERE.

Παράδειγμα: Επιστρέφει εκδηλώσεις που βρίσκονται στο Λονδίνο, Ηνωμένο Βασίλειο

ΕΠΙΛΕΞΤΕ * ΑΠΟ εκδηλώσεις
WHERE host_country = 'Ηνωμένο Βασίλειο' ΚΑΙ host_city = 'Λονδίνο';
ΟΠΟΙΟΣΕπιστρέφει αληθές εάν κάποια από τις τιμές του υποερώματος πληροί τη δεδομένη συνθήκη.

Παράδειγμα: Επιστρέφει προϊόντα από τον πίνακα προϊόντων που έχουν λάβει παραγγελίες - αποθηκευμένα στον πίνακα παραγγελιών - με ποσότητα μεγαλύτερη από 5.

ΕΠΙΛΕΞΤΕ όνομα
ΑΠΟ προϊόντα
WHERE productId = ΟΠΟΙΑΔΗΠΟΤΕ (ΕΠΙΛΕΞΤΕ productId ΑΠΟ παραγγελίες ΠΟΥ ποσότητα> 5);
ΟΠΩΣ ΚΑΙΜετονομάζει έναν πίνακα ή μια στήλη με μια τιμή ψευδωνύμου που υπάρχει μόνο για τη διάρκεια του ερωτήματος.

Παράδειγμα: Ψευδώνυμα στήλη north_east_user_subscriptions

ΕΠΙΛΕΞΤΕ north_east_user_subscriptions AS ne_subs
ΑΠΟ χρήστες
ΠΟΥ ne_subs> 5;
ASCΧρησιμοποιήθηκε με το ORDER BY για την επιστροφή των δεδομένων σε αύξουσα σειρά.

Παράδειγμα: Μήλα, μπανάνες, ροδάκινα, ραπανάκι

ΜΕΤΑΞΥΕπιλέγει τιμές εντός του δεδομένου εύρους.

Παράδειγμα 1: Επιλέγει απόθεμα με ποσότητα μεταξύ 100 και 150.

ΕΠΙΛΕΞΤΕ * ΑΠΟ απόθεμα
ΠΟΥ η ποσότητα ΜΕΤΑΞΥ 100 ΚΑΙ 150;

Παράδειγμα 2: Επιλέγει απόθεμα με ποσότητα ΔΕΝ μεταξύ 100 και 150. Εναλλακτικά, χρησιμοποιώντας τη λέξη-κλειδί ΔΕΝ αντιστρέφει τη λογική και επιλέγει τιμές εκτός του δεδομένου εύρους.

ΕΠΙΛΕΞΤΕ * ΑΠΟ απόθεμα
ΠΟΥ ΔΕΝ Η ποσότητα ΔΕΝ ΜΕΤΑΞΥ 100 ΚΑΙ 150;
ΥΠΟΘΕΣΗΑλλάξτε την έξοδο ερωτήματος ανάλογα με τις συνθήκες.

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

SELECT first_name, επώνυμο, συνδρομές
ΠΕΡΙΠΤΩΣΗ ΟΤΑΝ συνδρομές> 10 ΤΟ "Πολύ ενεργό"
ΠΟΤΕ Ποσότητα ΜΕΤΑΞΥ 3 ΚΑΙ 10 Τότε «Ενεργό»
ELSE «Ανενεργό»
ΤΕΛΟΣ ΩΣ δραστηριότητα_ επίπεδα
ΑΠΟ χρήστες ·
ΕΛΕΓΧΟΣΠροσθέτει έναν περιορισμό που περιορίζει την τιμή που μπορεί να προστεθεί σε μια στήλη.

Παράδειγμα 1 (MySQL): Διασφαλίζει ότι οι χρήστες που προστίθενται στον πίνακα χρηστών είναι άνω των 18 ετών.

ΔΗΜΙΟΥΡΓΙΑ χρηστών ΠΙΝΑΚΑΣ (
first_name varchar (255),
ηλικία int,
ΕΛΕΓΧΟΣ (ηλικία> = 18)
)

Παράδειγμα 2 (MySQL): Προσθέτει μια επιταγή μετά τη δημιουργία του πίνακα.

Χρήστες ALTER TABLE
ΠΡΟΣΘΗΚΗ ΕΛΕΓΧΟΥ (ηλικία> = 18);
ΔΗΜΙΟΥΡΓΙΑ ΔΕΔΟΜΕΝΩΝΔημιουργεί μια νέα βάση δεδομένων.

Παράδειγμα: Δημιουργεί μια νέα βάση δεδομένων με την ονομασία «sitesetup».

ΔΗΜΙΟΥΡΓΙΑ ΔΕΔΟΜΕΝΩΝ ιστότοπων εγκατάσταση;
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΔημιουργεί έναν νέο πίνακα .

Παράδειγμα: Δημιουργεί έναν νέο πίνακα που ονομάζεται «χρήστες» στη βάση δεδομένων «Ιστοσελίδα».

ΔΗΜΙΟΥΡΓΙΑ χρηστών ΠΙΝΑΚΑΣ (
id int,
first_name varchar (255),
επώνυμο varchar (255),
διεύθυνση varchar (255),
contact_number int
)
ΠΡΟΚΑΘΟΡΙΣΜΕΝΟΟρίζει μια προεπιλεγμένη τιμή για μια στήλη.

Παράδειγμα 1 (MySQL): Δημιουργεί έναν νέο πίνακα που ονομάζεται Προϊόντα, ο οποίος έχει μια στήλη ονόματος με προεπιλεγμένη τιμή "Όνομα κράτησης θέσης" και μια διαθέσιμη_από στήλη με προεπιλεγμένη τιμή της σημερινής ημερομηνίας.

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ προϊόντων (
id int,
όνομα varchar (255) DEFAULT «Όνομα κράτησης θέσης»,
διαθέσιμο_από ημερομηνία DEFAULT GETDATE ()
)

Παράδειγμα 2 (MySQL): Το ίδιο όπως παραπάνω, αλλά η επεξεργασία ενός υπάρχοντος πίνακα.

Προϊόντα ALTER TABLE
ALTER όνομα SET DEFAULT «Όνομα κράτησης θέσης»,
ALTER διαθέσιμο_από το SET DEFAULT GETDATE ();
ΔΙΑΓΡΑΦΩΔιαγραφή δεδομένων από έναν πίνακα.

Παράδειγμα: Καταργεί έναν χρήστη με κωδικό χρήστη 674.

ΔΙΑΓΡΑΦΗ ΑΠΟ χρήστες ΠΟΥ ΕΙΝΑΙ user_id = 674;
DESCΧρησιμοποιήθηκε με το ORDER BY για την επιστροφή των δεδομένων σε φθίνουσα σειρά.

Παράδειγμα: Ραπανάκι, ροδάκινα, μπανάνες, μήλα

ΣΤΑΣΗ ΣΤΗΛΗΣΔιαγράφει μια στήλη από έναν πίνακα.

Παράδειγμα: Καταργεί τη στήλη first_name από τον πίνακα χρηστών.

Χρήστες ALTER TABLE
DROP COLUMN first_name
ΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝΔιαγράφει ολόκληρη τη βάση δεδομένων.

Παράδειγμα: Διαγράφει μια βάση δεδομένων με την ονομασία «ιστοσελίδες».

ΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ βάσεων δεδομένων
ΠΡΟΣΤΑΤΕΥΤΙΚΟ ΠΡΟΟΠΤΙΚΟΚαταργεί μια προεπιλεγμένη τιμή για μια στήλη.

Παράδειγμα (MySQL): Καταργεί την προεπιλεγμένη τιμή από τη στήλη "όνομα" στον πίνακα "προϊόντα".

Προϊόντα ALTER TABLE
ALTER COLUMN όνομα DROP DEFAULT;
ΠΙΝΑΚΑΣ ΠΡΟΣΤΑΣΙΑΣΔιαγράφει έναν πίνακα από μια βάση δεδομένων.

Παράδειγμα: Καταργεί τον πίνακα χρηστών.

DROP TABLE χρήστες;
ΥΠΑΡΧΕΙΕλέγχει την ύπαρξη οποιασδήποτε εγγραφής στο υποερώτημα, επιστρέφει αληθής εάν επιστραφεί μία ή περισσότερες εγγραφές.

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

SELECT αντιπροσωπεία_ όνομα
ΑΠΟ αντιπροσωπείες
ΠΟΥ ΥΠΑΡΧΟΥΝ (ΕΠΙΛΕΞΤΕ deal_name ΑΠΟ συμφωνίες WHERE dealerhip_id = Deals.dealership_id AND finance_percentage < 10);
ΑΠΟΚαθορίζει από ποιον πίνακα θα επιλέξετε ή θα διαγράψετε δεδομένα.

Παράδειγμα: Επιλέγει δεδομένα από τον πίνακα χρηστών.

SELECT area_manager
Από τους διαχειριστές περιοχής
ΠΟΥ ΥΠΑΡΧΕΙ (ΕΠΙΛΕΞΤΕ Όνομα προϊόντος ΑΠΟ ΠΡΟΪΟΝΤΑ ΠΟΥ ΕΙΝΑΙ area_manager_id = Deals.area_manager_id ΚΑΙ Τιμή < 20);
ΣΕΧρησιμοποιείται παράλληλα με μια ρήτρα WHERE ως συντομογραφία για πολλαπλές συνθήκες OR.

Έτσι αντί:-

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΧΡΗΣΗ = "ΗΠΑ" Ή χώρα = "Ηνωμένο Βασίλειο" Ή χώρα = "Ρωσία" Ή χώρα = "Αυστραλία";

Μπορείς να χρησιμοποιήσεις:-

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΕΙΝΑΙ η χώρα ΣΕ («ΗΠΑ», «Ηνωμένο Βασίλειο», «Ρωσία», «Αυστραλία»);
ΕΙΣΑΓΕΤΕ ΣΤΟΠροσθέστε νέες σειρές σε έναν πίνακα.

Παράδειγμα: Προσθέτει ένα νέο όχημα.

INSERT INTO αυτοκίνητα (μάρκα, μοντέλο, χιλιόμετρα, έτος)
ΤΙΜΕΣ ("Audi", "A3", 30000, 2016).
ΕΙΝΑΙ NULLΔοκιμές για κενές τιμές (NULL).

Παράδειγμα: Επιστρέφει χρήστες που δεν έχουν δώσει αριθμό επικοινωνίας.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΕΙΝΑΙ Ο αριθμός επαφής είναι NULL;
ΔΕΝ ΕΙΝΑΙ ΚΕΝΤΡΙΚΟΤο αντίστροφο του NULL. Δοκιμές για τιμές που δεν είναι κενές / NULL.
ΣΑΝΕπιστρέφει true αν η τιμή του τελεστή ταιριάζει με ένα μοτίβο.

Παράδειγμα: Επιστρέφει αληθές εάν το όνομα_χρήστη του χρήστη τελειώνει με "γιος".

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΠΡΩΤΟ_ΝΟΜΙΚΟ ΛΟΓΕΙ '% γιος';
ΔΕΝΕπιστρέφει αληθές εάν μια εγγραφή ΔΕΝ πληροί την προϋπόθεση.

Παράδειγμα: Επιστρέφει αληθές εάν το όνομα_χρήστη του χρήστη δεν τελειώνει με "γιος".

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΠΡΩΤΟ όνομα_ΔΕΝ Αρέσει Σ '% γιο';
ΉΧρησιμοποιείται παράλληλα με το WHERE για να συμπεριλάβει δεδομένα όταν ισχύει οποιαδήποτε από τις δύο συνθήκες.

Παράδειγμα: Επιστρέφει χρήστες που ζουν είτε στο Σέφιλντ είτε στο Μάντσεστερ.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
WHERE city = "Σέφιλντ" Ή "Μάντσεστερ";
ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑΧρησιμοποιείται για την ταξινόμηση των δεδομένων αποτελεσμάτων σε αύξουσα (προεπιλογή) ή φθίνουσα σειρά μέσω της χρήσης λέξεων-κλειδιών ASC ή DESC.

Παράδειγμα: Επιστρέφει τις χώρες με αλφαβητική σειρά.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χώρες
ΠΑΡΑΓΓΕΛΙΑ ΑΝΑ όνομα;
ROWNUMΕπιστρέφει τα αποτελέσματα όπου ο αριθμός σειράς πληροί τη συνθήκη που πέρασε.

Παράδειγμα: Επιστρέφει τις κορυφαίες 10 χώρες από τον πίνακα χωρών.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χώρες
ΠΟΥ ΕΙΝΑΙ ROWNUM <= 10;
ΕΠΙΛΕΓΩΧρησιμοποιείται για την επιλογή δεδομένων από μια βάση δεδομένων, η οποία στη συνέχεια επιστρέφεται σε ένα σύνολο αποτελεσμάτων.

Παράδειγμα 1: Επιλέγει όλες τις στήλες από όλους τους χρήστες.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες?

Παράδειγμα 2: Επιλέγει τις στήλες του ονόματος_και το επώνυμο από όλους τους χρήστες.xx

SELECT first_name, επώνυμο ΑΠΟ χρήστες ·
ΕΠΙΛΕΞΤΕ ΑΠΟΣΤΟΛΗΤα Sames ως SELECT, εκτός από τις διπλές τιμές εξαιρούνται.

Παράδειγμα: Δημιουργεί έναν εφεδρικό πίνακα χρησιμοποιώντας δεδομένα από τον πίνακα χρηστών.

SELECT * INTO users Backup2020
ΑΠΟ χρήστες ·
ΕΠΙΛΕΞΤΕ ΣΕΑντιγράφει δεδομένα από έναν πίνακα και τα εισάγει σε έναν άλλο.

Παράδειγμα: Επιστρέφει όλες τις χώρες από τον πίνακα χρηστών, καταργώντας τυχόν διπλές τιμές (που θα ήταν πολύ πιθανό)

ΕΠΙΛΕΞΤΕ ΑΠΟΣΤΟΛΗ χώρα από χρήστες.
ΕΠΙΛΕΞΤΕ ΚορυφήΣας επιτρέπει να επιστρέψετε έναν καθορισμένο αριθμό εγγραφών για επιστροφή από έναν πίνακα.

Παράδειγμα: Επιστρέφει τα 3 κορυφαία αυτοκίνητα από τον πίνακα των αυτοκινήτων.

ΕΠΙΛΕΞΤΕ Κορυφή 3 * ΑΠΟ αυτοκίνητα.
ΣΕΙΡΑΧρησιμοποιήθηκε παράλληλα με την ΕΝΗΜΕΡΩΣΗ για την ενημέρωση υπαρχόντων δεδομένων σε έναν πίνακα.

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

ΕΝΗΜΕΡΩΣΗ παραγγελιών
Τιμή SET = 19,49, ποσότητα = 2
WHERE id = 642;
ΜΕΡΙΚΟΙΠανομοιότυπο με ΟΠΟΙΟΔΗΠΟΤΕ.
ΜΠΛΟΥΖΑΧρησιμοποιείται παράλληλα με το SELECT για να επιστρέψει έναν καθορισμένο αριθμό εγγραφών από έναν πίνακα.

Παράδειγμα: Επιστρέφει τους 5 πρώτους χρήστες από τον πίνακα χρηστών.

ΕΠΙΛΕΞΤΕ TOP 5 * ΑΠΟ χρήστες.
ΤΡΑΠΕΖΙ ΣΥΜΒΟΥΛΩΝΠαρόμοιο με το DROP, αλλά αντί να διαγράφεται ο πίνακας και τα δεδομένα του, αυτό διαγράφει μόνο τα δεδομένα.

Παράδειγμα: Αδειάζει τον πίνακα συνεδριών, αλλά αφήνει τον πίνακα άθικτο.

Συνεδρίες TRUNCATE TABLE
ΕΝΩΣΗΣυνδυάζει τα αποτελέσματα από 2 ή περισσότερες δηλώσεις SELECT και επιστρέφει μόνο ξεχωριστές τιμές.

Παράδειγμα: Επιστρέφει τις πόλεις από τους πίνακες συμβάντων και συνδρομητών.

ΕΠΙΛΕΞΤΕ πόλη από εκδηλώσεις
ΕΝΩΣΗ
ΕΠΙΛΕΞΤΕ πόλη από συνδρομητές.
ΕΝΩΣΗ ΟΛΑΤο ίδιο με το UNION, αλλά περιλαμβάνει διπλές τιμές.
ΜΟΝΑΔΙΚΟΣΑυτός ο περιορισμός διασφαλίζει ότι όλες οι τιμές σε μια στήλη είναι μοναδικές.

Παράδειγμα 1 (MySQL): Προσθέτει έναν μοναδικό περιορισμό στη στήλη id κατά τη δημιουργία ενός νέου πίνακα χρηστών.

ΔΗΜΙΟΥΡΓΙΑ χρηστών ΠΙΝΑΚΑΣ (
id int ΟΧΙ NULL,
όνομα varchar (255) ΔΕΝ NULL,
Μοναδική ταυτότητα)
)

Παράδειγμα 2 (MySQL): Αλλάζει μια υπάρχουσα στήλη για να προσθέσει ΜΟΝΑΔΙΚΟ περιορισμό.

Χρήστες ALTER TABLE
ΠΡΟΣΘΗΚΗ ΜΟΝΑΔΙΚΟΥ (id);
ΕΚΣΥΓΧΡΟΝΙΖΩΕνημερώνει τα υπάρχοντα δεδομένα σε έναν πίνακα.

Παράδειγμα: Ενημερώνει τις τιμές χιλιομέτρων και serviceDue για ένα όχημα με αναγνωριστικό 45 στον πίνακα αυτοκινήτων.

ΕΝΗΜΕΡΩΣΗ αυτοκινήτων
SET χιλιόμετρα = 23500, serviceDue = 0
WHERE id = 45;
ΑΞΙΕΣΧρησιμοποιείται παράλληλα με τη λέξη-κλειδί INSERT INTO για την προσθήκη νέων τιμών σε έναν πίνακα.

Παράδειγμα: Προσθέτει ένα νέο αυτοκίνητο στον πίνακα αυτοκινήτων.

INSERT INTO αυτοκίνητα (όνομα, μοντέλο, έτος)
ΑΞΙΕΣ ("Ford", "Fiesta", 2010)
ΟΠΟΥΦιλτράρει τα αποτελέσματα για να περιλαμβάνει μόνο δεδομένα που πληρούν τη δεδομένη συνθήκη.

Παράδειγμα: Επιστρέφει παραγγελίες με ποσότητα μεγαλύτερη από 1 στοιχείο.

ΕΠΙΛΕΞΤΕ * ΑΠΟ παραγγελίες
Ποια ποσότητα> 1;

Σχόλια

Τα σχόλια σάς επιτρέπουν να εξηγήσετε ενότητες των δηλώσεων SQL ή να σχολιάσετε τον κώδικα και να αποτρέψετε την εκτέλεση του.

Στο SQL, υπάρχουν 2 τύποι σχολίων, μία γραμμή και πολλαπλή γραμμή.

Σχόλια μιας γραμμής

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

-- Το ερώτημά μου Επιλογή
ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες?

Πολλαπλά σχόλια

Τα πολλαπλά σχόλια ξεκινούν με / * και τελειώνουν με * /. Εκτείνονται σε πολλές γραμμές μέχρι να βρεθούν οι χαρακτήρες κλεισίματος.

/ *
Αυτό είναι το επιλεγμένο ερώτημά μου.
Παίρνει όλες τις σειρές δεδομένων από τον πίνακα χρηστών
* /
ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες?

/ *
Αυτό είναι ένα άλλο επιλεγμένο ερώτημα, το οποίο δεν θέλω να εκτελέσω ακόμα

ΕΠΙΛΕΞΤΕ * ΑΠΟ εργασίες;
* /

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

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

Στο παρακάτω παράδειγμα, τα δεδομένα που διαβιβάζονται στη στήλη id πρέπει να είναι int, ενώ η στήλη first_name έχει τύπο δεδομένων VARCHAR με μέγιστο αριθμό 255 χαρακτήρων.

ΔΗΜΙΟΥΡΓΙΑ χρηστών ΠΙΝΑΚΑΣ (
id int,
first_name varchar (255)
)

Τύποι δεδομένων συμβολοσειράς

Τύποι δεδομένων συμβολοσειράς
Τύπος δεδομένωνΠεριγραφή
CHAR (μέγεθος)Διορθωμένο μήκος που μπορεί να περιέχει γράμματα, αριθμούς και ειδικούς χαρακτήρες. Η παράμετρος μεγέθους ορίζει το μέγιστο μήκος συμβολοσειράς, από 0 - 255 με προεπιλογή 1.
ΒΑΡΚΑΡ (μέγεθος)Συμβολοσειρά μεταβλητού μήκους παρόμοια με το CHAR (), αλλά με μέγιστο μήκος συμβολοσειράς από 0 έως 65535.
BINARY (μέγεθος)Παρόμοια με το CHAR () αλλά αποθηκεύει δυαδικές συμβολοσειρές byte.
ΒΙΒΛΙΟΘΗΚΟΣ (μέγεθος)Παρόμοια με το VARCHAR () αλλά για συμβολοσειρές δυαδικών byte.
TINYBLOBΚρατά δυαδικά μεγάλα αντικείμενα (BLOBs) με μέγιστο μήκος 255 byte.
TINYTEXTΚρατά μια συμβολοσειρά με μέγιστο μήκος 255 χαρακτήρες. Χρησιμοποιήστε αντ 'αυτού το VARCHAR (), καθώς έχει πάρει πολύ πιο γρήγορα.
Μέγεθος κειμένου)Κρατά μια συμβολοσειρά με μέγιστο μήκος 65535 byte. Και πάλι, καλύτερα να χρησιμοποιήσετε το VARCHAR ().
BLOB (μέγεθος)Διατηρεί δυαδικά μεγάλα αντικείμενα (BLOBs) με μέγιστο μήκος 65535 byte.
ΜΕΘΟΔΟΣΚρατά μια συμβολοσειρά με μέγιστο μήκος 16,777.215 χαρακτήρες.
MEDIUMBLOBΔιατηρεί δυαδικά μεγάλα αντικείμενα (BLOBs) με μέγιστο μήκος 16,777.215 byte.
LONGTEXTΚρατά μια συμβολοσειρά με μέγιστο μήκος 4.294.967.295 χαρακτήρες.
LONGBLOBΚρατά δυαδικά μεγάλα αντικείμενα (BLOBs) με μέγιστο μήκος 4.294.967.295 byte.
ENUM (a, b, c, κλπ…)Ένα αντικείμενο συμβολοσειράς που έχει μόνο μία τιμή, η οποία επιλέγεται από μια λίστα τιμών που ορίζετε, έως και 65535 τιμές κατ 'ανώτατο όριο. Εάν προστεθεί μια τιμή που δεν περιλαμβάνεται σε αυτήν τη λίστα, αντικαθίσταται με μια κενή τιμή. Σκεφτείτε το ENUM να είναι παρόμοιο με HTML κουτιά ραδιοφώνου από αυτή την άποψη.

ΔΗΜΙΟΥΡΓΙΑ ΤΡΑΠΕΖΙ μπλουζάκια (χρώμα ENUM («κόκκινο», «πράσινο», «μπλε», «κίτρινο», «μωβ»));
SET (a, b, c, κλπ…)Ένα αντικείμενο συμβολοσειράς που μπορεί να έχει 0 ή περισσότερες τιμές, το οποίο επιλέγεται από μια λίστα τιμών που ορίζετε, έως και 64 τιμές. Σκεφτείτε ότι το SET είναι παρόμοιο με τα πλαίσια ελέγχου HTML σε αυτό το θέμα.

Αριθμητικοί τύποι δεδομένων

Τύποι δεδομένων συμβολοσειράς
Τύπος δεδομένωνΠεριγραφή
BIT (μέγεθος)Ένας τύπος bit-value με προεπιλογή 1. Ο επιτρεπόμενος αριθμός bit σε μια τιμή ορίζεται μέσω της παραμέτρου μεγέθους, η οποία μπορεί να διατηρήσει τιμές από 1 έως 64.
TINYINT (μέγεθος)Ένας πολύ μικρός ακέραιος με υπογεγραμμένο εύρος από -128 έως 127 και ένα μη υπογεγραμμένο εύρος από 0 έως 255. Εδώ, η παράμετρος μεγέθους καθορίζει το μέγιστο επιτρεπόμενο πλάτος οθόνης, που είναι 255.
ΜΠΟΥΛΙΟυσιαστικά ένας γρήγορος τρόπος ρύθμισης της στήλης σε TINYINT με μέγεθος 1. 0 θεωρείται ψευδής, ενώ 1 θεωρείται αληθής.
BOOLEANΊδιο με το BOOL.
SMALLINT (μέγεθος)Ένας μικρός ακέραιος με υπογεγραμμένο εύρος από -32768 έως 32767 και ένα μη υπογεγραμμένο εύρος από 0 έως 65535. Εδώ, η παράμετρος μεγέθους καθορίζει το μέγιστο επιτρεπόμενο πλάτος οθόνης, που είναι 255.
MEDIUMINT (μέγεθος)Ένας μεσαίος ακέραιος αριθμός με υπογεγραμμένο εύρος από -8388608 έως 8388607 και ένα μη υπογεγραμμένο εύρος από 0 έως 16777215. Εδώ, η παράμετρος μεγέθους καθορίζει το μέγιστο επιτρεπόμενο πλάτος οθόνης, το οποίο είναι 255.
INT (μέγεθος)Ένας μεσαίος ακέραιος αριθμός με υπογεγραμμένο εύρος από -2147483648 έως 2147483647 και ένα μη υπογεγραμμένο εύρος από 0 έως 4294967295. Εδώ, η παράμετρος μεγέθους καθορίζει το μέγιστο επιτρεπόμενο πλάτος οθόνης, που είναι 255.
INTEGER (μέγεθος)Ίδιο με το INT.
BIGINT (μέγεθος)Ένας μεσαίος ακέραιος αριθμός με υπογεγραμμένο εύρος από -9223372036854775808 έως 9223372036854775807 και ένα μη υπογεγραμμένο εύρος από 0 έως 18446744073709551615. Εδώ, η παράμετρος μεγέθους καθορίζει το μέγιστο επιτρεπόμενο πλάτος οθόνης, που είναι 255.
ΔΑΠΕΔΟ (σελ)Μια τιμή αριθμού κινητής υποδιαστολής. Εάν η παράμετρος ακριβείας (p) κυμαίνεται μεταξύ 0 και 24, τότε ο τύπος δεδομένων έχει οριστεί σε FLOAT (), ενώ εάν είναι από 25 έως 53, ο τύπος δεδομένων έχει οριστεί σε DOUBLE (). Αυτή η συμπεριφορά είναι να κάνει την αποθήκευση τιμών πιο αποτελεσματική.
ΔΙΠΛΟ (μέγεθος, δ)Μια τιμή αριθμού κινητής υποδιαστολής όπου τα συνολικά ψηφία καθορίζονται από την παράμετρο μεγέθους και ο αριθμός των ψηφίων μετά το δεκαδικό σημείο ορίζεται από την παράμετρο d.
DECIMAL (μέγεθος, d)Ένας ακριβής αριθμός σταθερού σημείου όπου ο συνολικός αριθμός ψηφίων καθορίζεται από τις παραμέτρους μεγέθους και ο συνολικός αριθμός ψηφίων μετά το δεκαδικό σημείο ορίζεται από την παράμετρο d.

Για το μέγεθος, ο μέγιστος αριθμός είναι 65 και η προεπιλογή είναι 10, ενώ για το d, ο μέγιστος αριθμός είναι 30 και η προεπιλογή είναι 10.

DEC (μέγεθος, d)Ίδιο με το DECIMAL.

Τύποι δεδομένων ημερομηνίας / ώρας

Τύποι δεδομένων ημερομηνίας / ώρας
Τύπος δεδομένωνΠεριγραφή
ΗΜΕΡΟΜΗΝΙΑΜια απλή ημερομηνία σε μορφή ΕΕΕΕ-ΜΜ-ΗΗ, με υποστηριζόμενο εύρος από «1000-01-01» έως «9999-12-31».
DATETIME (fsp)Ώρα ημερομηνίας σε μορφή ΕΕΕΕ-ΜΜ-ΗΗ ωω: mm: ss, με υποστηριζόμενο εύρος από "1000-01-01 00:00:00" έως "9999-12-31 23:59:59".

Προσθέτοντας DEFAULT και ON UPDATE στον ορισμό της στήλης, ορίζει αυτόματα την τρέχουσα ημερομηνία / ώρα.

TIMESTAMP (fsp)Μια χρονική σήμανση Unix, η οποία είναι μια τιμή σε σχέση με τον αριθμό των δευτερολέπτων από την εποχή του Unix («1970-01-01 00:00:00» UTC). Αυτό έχει ένα υποστηριζόμενο εύρος από "1970-01-01 00:00:01" UTC έως "2038-01-09 03:14:07" UTC.

Προσθέτοντας το DEFAULT CURRENT_TIMESTAMP και ON UPDATE CURRENT TIMESTAMP στον ορισμό της στήλης, ορίζεται αυτόματα στην τρέχουσα ημερομηνία / ώρα.

ΩΡΑ (fsp)Χρόνος σε hh: mm: ss format, με υποστηριζόμενο εύρος από "-838: 59: 59" έως "838: 59: 59".
ΕΤΟΣΈνα χρόνο, με υποστηριζόμενο εύρος από «1901» έως «2155».

Χειριστές

Αριθμητικοί χειριστές

Αριθμητικοί χειριστές
ΧειριστήςΠεριγραφή
+Προσθήκη
-Αφαιρώ
*Πολλαπλασιάζω
/διαιρέστε
%Modulo

Τελεστής Bitwise

Τελεστές Bitwise
ΧειριστήςΠεριγραφή
&Bitwise ΚΑΙ
|Bitwise Ή
^Αποκλειστικά bitwise Ή

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

Χειριστές σύγκρισης
ΧειριστήςΠεριγραφή
=Ισο με
>Μεγαλύτερος από
<Λιγότερο από
> =Μεγαλύτερο ή ίσο με
<=Λιγότερο από ή ίσο με
<>Οχι ίσο με

Σύνθετοι χειριστές

Σύνθετοι χειριστές
ΧειριστήςΠεριγραφή
+=Προσθήκη ίσων
-=Η αφαίρεση ισούται με
* =Πολλαπλασιασμός ισούται
/ =Διαίρεση ισούται
% =Το Modulo ισούται
& =Bitwise AND ισούται
^ - =Το Bitwise αποκλειστικά ισούται με
| * =Bitwise Ή ισούται

Λειτουργίες

Λειτουργίες συμβολοσειράς

Λειτουργίες συμβολοσειράς
ΟνομαΠεριγραφή
ASCIIΕπιστρέφει την ισοδύναμη τιμή ASCII για έναν συγκεκριμένο χαρακτήρα.
CHAR_LENGTHΕπιστρέφει το μήκος χαρακτήρων μιας συμβολοσειράς.
CHARACTER_LENGTHΊδιο με CHAR_LENGTH.
CONCATΠροσθέτει εκφράσεις μαζί, με τουλάχιστον 2.
CONCAT_WSΠροσθέτει εκφράσεις μαζί, αλλά με διαχωριστικό μεταξύ κάθε τιμής.
ΠΕΔΙΟΕπιστρέφει μια τιμή ευρετηρίου σε σχέση με τη θέση μιας τιμής σε μια λίστα τιμών.
ΒΡΕΙΤΕ ΣΕ ΣΕΤΕπιστρέφει τη θέση μιας συμβολοσειράς σε μια λίστα συμβολοσειρών.
ΜΟΡΦΗΌταν περάσει έναν αριθμό, επιστρέφει τον αριθμό που έχει μορφοποιηθεί ώστε να περιλαμβάνει κόμματα (π.χ. 3.400.000).
ΕΙΣΑΓΕΤΕΣας επιτρέπει να εισαγάγετε μια συμβολοσειρά σε μια άλλη σε ένα συγκεκριμένο σημείο, για έναν ορισμένο αριθμό χαρακτήρων.
INSTRΕπιστρέφει τη θέση της πρώτης φορά που μια συμβολοσειρά εμφανίζεται μέσα σε μια άλλη.
ΠΕΡΙΠΤΩΣΗΜετατρέψτε μια συμβολοσειρά σε πεζά.
ΑΡΙΣΤΕΡΑΞεκινώντας από τα αριστερά, εξαγάγετε τον δεδομένο αριθμό χαρακτήρων από μια συμβολοσειρά και επιστρέψτε τους ως άλλους.
ΜΗΚΟΣΕπιστρέφει το μήκος μιας συμβολοσειράς, αλλά σε byte.
ΕΓΚΑΤΑΣΤΑΣΗΕπιστρέφει την πρώτη εμφάνιση μιας συμβολοσειράς μέσα σε μια άλλη,
ΠΙΟ ΧΑΜΗΛΑΤο ίδιο με το LCASE.
LPADΑριστερά μαξιλάρια μία συμβολοσειρά με μια άλλη, σε συγκεκριμένο μήκος.
LTRIMΑφαιρέστε τυχόν κενά διαστήματα από τη δεδομένη συμβολοσειρά.
ΣΤΑ ΜΕΣΑΕξάγει μια συμβολοσειρά από μια άλλη, ξεκινώντας από οποιαδήποτε θέση.
ΘΕΣΗΕπιστρέφει τη θέση της πρώτης φορά που ένα υπόστρωμα εμφανίζεται μέσα σε ένα άλλο.
ΕΠΑΝΑΛΑΜΒΑΝΩΣας επιτρέπει να επαναλάβετε μια συμβολοσειρά
ΑΝΤΙΚΑΘΙΣΤΩΣας επιτρέπει να αντικαταστήσετε τυχόν εμφανίσεις ενός υποστρώματος μέσα σε μια συμβολοσειρά, με ένα νέο υπόστρωμα.
ΑΝΤΙΣΤΡΟΦΗΑντιστρέφει τη συμβολοσειρά.
ΣΩΣΤΑΞεκινώντας από τα δεξιά, εξαγάγετε τον δεδομένο αριθμό χαρακτήρων από μια συμβολοσειρά και επιστρέψτε τους ως άλλους.
RPADΔεξιά μαξιλάρια μια συμβολοσειρά με μια άλλη, σε συγκεκριμένο μήκος.
RTRIMΑφαιρεί τυχόν κενά διαστήματα από τη δεδομένη συμβολοσειρά.
ΧΩΡΟΣΕπιστρέφει μια συμβολοσειρά γεμάτη κενά ίσα με το ποσό που το περνάτε.
STRCMPΣυγκρίνει 2 χορδές για διαφορές
SUBSTRΕξάγει ένα υπόστρωμα από το άλλο, ξεκινώντας από οποιαδήποτε θέση.
ΥΠΟΣΤΗΡΙΞΗΤο ίδιο με το SUBSTR
SUBSTRING_INDEXΕπιστρέφει μια συμβολοσειρά από μια συμβολοσειρά πριν βρεθεί το περασμένο υπόστρωμα, ο αριθμός των φορών που ισούται με τον αριθμό που πέρασε.
ΤΑΚΤΟΠΟΙΗΣΗΑφαιρεί τα κενά και τα κενά διαστήματα από τη δεδομένη σειρά. Ίδιο σαν να τρέχετε LTRIM και RTRIM μαζί.
ΥΠΟΘΕΣΗΜετατροπή συμβολοσειράς σε κεφαλαία.
ΑΝΩΤΕΡΟΣΤο ίδιο με το UCASE.

Αριθμητικές συναρτήσεις

Αριθμητικές συναρτήσεις
ΟνομαΠεριγραφή
ABSΕπιστρέφει την απόλυτη τιμή του δεδομένου αριθμού.
ACOSΕπιστρέφει το συνημίτονο τόξου του δεδομένου αριθμού.
ΟΠΩΣ ΛΕΜΕΕπιστρέφει το ηχητικό σήμα του δεδομένου αριθμού.
ΕΝΑ ΜΑΥΡΙΣΜΑΕπιστρέφει την εφαπτομένη τόξου ενός ή 2 δεδομένων αριθμών.
ATAN2Επιστρέψτε την εφαπτομένη τόξου 2 δεδομένων αριθμών.
AVGΕπιστρέφει τη μέση τιμή της δεδομένης έκφρασης.
CEILΕπιστρέφει τον πλησιέστερο ακέραιο αριθμό (ακέραιος) προς τα πάνω από έναν δεδομένο δεκαδικό αριθμό.
ΟΡΟΦΗΤο ίδιο με το CEIL.
COSΕπιστρέφει το συνημίτονο ενός δεδομένου αριθμού.
ΚΡΕΒΑΤΑΚΙΕπιστρέφει τη συντεταγμένη ενός δεδομένου αριθμού.
ΜΕΤΡΩΕπιστρέφει τον αριθμό των εγγραφών που επιστρέφονται από ένα ερώτημα SELECT.
ΒαθμοίΜετατρέπει μια τιμή ακτινίων σε μοίρες.
DIVΣας επιτρέπει να διαιρείτε ακέραιους αριθμούς.
ΛΗΞΗΕπιστρέφει το e στην ισχύ του δεδομένου αριθμού.
ΠΑΤΩΜΑΕπιστρέφει τον πλησιέστερο ακέραιο αριθμό (ακέραιος) προς τα κάτω από έναν δεδομένο δεκαδικό αριθμό.
ΜΕΓΑΛΥΤΕΡΗΕπιστρέφει την υψηλότερη τιμή σε μια λίστα ορισμάτων.
ΕΛΑΧΙΣΤΑΕπιστρέφει τη μικρότερη τιμή σε μια λίστα ορισμάτων.
LNΕπιστρέφει τον φυσικό λογάριθμο του δεδομένου αριθμού
ΚΟΥΤΣΟΥΡΟΕπιστρέφει τον φυσικό λογάριθμο του δεδομένου αριθμού ή τον λογάριθμο του δεδομένου αριθμού στη δεδομένη βάση
LOG10Κάνει το ίδιο με το LOG, αλλά στη βάση 10.
LOG2Κάνει το ίδιο με το LOG, αλλά στη βάση 2.
ΜΕΓΙΣΤΗΕπιστρέφει την υψηλότερη τιμή από ένα σύνολο τιμών.
ΕΛΑΕπιστρέφει τη χαμηλότερη τιμή από ένα σύνολο τιμών.
MODΕπιστρέφει το υπόλοιπο του δεδομένου αριθμού διαιρούμενο με τον άλλο δεδομένο αριθμό.
πιΕπιστρέφει PI.
ΔΥΝΑΜΗΕπιστρέφει την τιμή του δεδομένου αριθμού που αυξάνεται στην ισχύ του άλλου δεδομένου αριθμού.
ΕΞΟΥΣΙΑΊδιο με το POW.
ΡΑΔΙΑΝΟΙΜετατρέπει μια τιμή μοιρών σε ακτίνια.
ΑΚΡΑΕπιστρέφει έναν τυχαίο αριθμό.
ΣΤΡΟΓΓΥΛΟΣτρογγυλοποιήστε τον δεδομένο αριθμό στο δεδομένο ποσό των δεκαδικών ψηφίων.
ΣΗΜΑΔΙΕπιστρέφει το σύμβολο του δεδομένου αριθμού.
ΑΜΑΡΤΙΑΕπιστρέφει το ημίτονο του δεδομένου αριθμού.
SQRTΕπιστρέφει την τετραγωνική ρίζα του δεδομένου αριθμού.
ΑΘΡΟΙΣΜΑΕπιστρέφει την τιμή του συνδυασμένου δεδομένου συνόλου τιμών.
ΗΛΙΟΚΑΙΩΕπιστρέφει την εφαπτομένη του δεδομένου αριθμού.
ΚΟΥΤΣΟΥΡΕΥΩΕπιστρέφει έναν αριθμό που έχει περικοπεί στον δεδομένο αριθμό δεκαδικών ψηφίων.

Συναρτήσεις ημερομηνίας

Συναρτήσεις ημερομηνίας
ΟνομαΠεριγραφή
ΠΡΟΣΘΗΚΗΠροσθέστε ένα διάστημα ημερομηνίας (π.χ. 10 ΗΜΕΡΑ) σε μια ημερομηνία (π.χ. 20/01/20) και επιστρέψτε το αποτέλεσμα (π.χ. 20/01/30).
ΠΡΟΣΘΗΚΗΠροσθέστε ένα χρονικό διάστημα (π.χ. 02:00) σε μια ώρα ή ώρα (05:00) και επιστρέψτε το αποτέλεσμα (07:00).
ΔΙΑΡΚΕΙΑΛάβετε την τρέχουσα ημερομηνία.
ΣΗΜΕΡΙΝΗ ΗΜΕΡΟΜΗΝΙΑΊδιο με το CURDATE.
CURRENT_TIMEΛάβετε την τρέχουσα ώρα.
CURRENT_TIMESTAMPΛάβετε την τρέχουσα ημερομηνία και ώρα.
ΚΟΥΡΤΙΝΑΊδιο με CURRENT_TIME.
ΗΜΕΡΟΜΗΝΙΑΕξάγει την ημερομηνία από μια έκφραση χρόνου.
DATEDIFFΕπιστρέφει τον αριθμό ημερών μεταξύ των 2 δεδομένων ημερομηνιών.
DATE_ADDΤο ίδιο με το ADDDATE.
ΜΟΡΦΗ ΗΜΕΡΟΜΗΝΙΑΣΜορφοποιεί την ημερομηνία στο συγκεκριμένο μοτίβο.
DATE_SUBΑφαιρέστε ένα διάστημα ημερομηνίας (π.χ. 10 ΗΜΕΡΑ) σε μια ημερομηνία (π.χ. 20/01/20) και επιστρέψτε το αποτέλεσμα (π.χ. 20/01/10).
ΗΜΕΡΑΕπιστρέφει την ημέρα για τη δεδομένη ημερομηνία.
DAYNAMEΕπιστρέφει το όνομα της εβδομάδας για τη δεδομένη ημερομηνία.
ΜΕΡΑ ΤΗΣ ΕΒΔΟΜΑΔΑΣΕπιστρέφει το ευρετήριο για την ημέρα της εβδομάδας για τη δεδομένη ημερομηνία.
DAYOFYEARΕπιστρέφει την ημέρα του έτους για τη δεδομένη ημερομηνία.
ΕΚΧΥΛΙΣΜΑΑπόσπασμα από την ημερομηνία του συγκεκριμένου μέρους (π.χ. ΜΗΝΑ για 20/01/20 = 01).
ΑΠΟ ΗΜΕΡΕΣΕπιστρέψτε την ημερομηνία από τη δεδομένη αριθμητική τιμή ημερομηνίας.
ΩΡΑΕπιστρέψτε την ώρα από τη δεδομένη ημερομηνία.
ΤΕΛΕΥΤΑΙΑ ΜΕΡΑΛάβετε την τελευταία ημέρα του μήνα για τη δεδομένη ημερομηνία.
ΤΟΠΙΚΗ ΩΡΑΠαίρνει την τρέχουσα τοπική ημερομηνία και ώρα.
LOCALTIMESTAMPΤο ίδιο με το LOCALTIME.
ΚΑΤΑΣΚΕΥΗΔημιουργεί μια ημερομηνία και την επιστρέφει, με βάση τις τιμές του δεδομένου έτους και του αριθμού των ημερών.
ΒΡΕΣ ΧΡΟΝΟΔημιουργεί μια ώρα και την επιστρέφει, με βάση τις δεδομένες ώρες, λεπτά και δευτερόλεπτα.
ΜΙΚΡΟΔΕΥΤΕΡΟΛΕΠΤΟΕπιστρέφει το μικροδευτερόλεπτο μιας δεδομένης ώρας ή ώρας δεδομένων.
ΛΕΠΤΟΕπιστρέφει το λεπτό του δεδομένου χρόνου ή ώρας.
ΜΗΝΑΣΕπιστρέφει τον μήνα της δεδομένης ημερομηνίας.
MONTHNAMEΕπιστρέφει το όνομα του μήνα της δεδομένης ημερομηνίας.
ΤΩΡΑΤο ίδιο με το LOCALTIME.
PERIOD_ADDΠροσθέτει τον δεδομένο αριθμό μηνών στη δεδομένη περίοδο.
PERIOD_DIFFΕπιστρέφει τη διαφορά μεταξύ 2 δεδομένων περιόδων.
ΤΕΤΑΡΤΟΕπιστρέφει το τρίμηνο του έτους για τη δεδομένη ημερομηνία.
ΔΕΥΤΕΡΟΣΕπιστρέφει το δευτερόλεπτο μιας δεδομένης ώρας ή ώρας.
SEC_TO_TIMEΕπιστρέφει έναν χρόνο με βάση τα δεδομένα δευτερόλεπτα.
STR_TO_DATEΔημιουργεί μια ημερομηνία και την επιστρέφει με βάση τη δεδομένη συμβολοσειρά και μορφή.
ΥΠΟΒΟΛΗΊδιο με DATE_SUB.
ΥΠΟΒΟΛΗΑφαιρεί ένα χρονικό διάστημα (π.χ. 02:00) σε μια ώρα ή ώρα (05:00) και επιστρέφει το αποτέλεσμα (03:00).
ΣΥΣΤΑΤΙΚΟΤο ίδιο με το LOCALTIME.
ΧΡΟΝΟΣΕπιστρέφει την ώρα από μια δεδομένη ώρα ή ώρα.
ΜΟΡΦΗ ΩΡΑΣΕπιστρέφει τον δεδομένο χρόνο στη δεδομένη μορφή.
TIME_TO_SECΜετατρέπει και επιστρέφει ένα χρόνο σε δευτερόλεπτα.
TIMEDIFFΕπιστρέφει τη διαφορά μεταξύ 2 δεδομένων εκφράσεων χρόνου / ώρας.
TIMESTAMPΕπιστρέφει την τιμή ημερομηνίας της δεδομένης ημερομηνίας ή ώρας.
ΣΗΜΕΡΙΝΗΕπιστρέφει τον συνολικό αριθμό ημερών που έχουν περάσει από το "00 -00-0000 "στη δεδομένη ημερομηνία.
ΕΒΔΟΜΑΔΑΕπιστρέφει τον αριθμό εβδομάδας για τη δεδομένη ημερομηνία.
ΚΑΘΗΜΕΡΙΝΗΕπιστρέφει τον αριθμό της εβδομάδας για τη δεδομένη ημερομηνία.
ΕΒΔΟΜΑΔΑ ΕΒΔΟΜΑΔΑΕπιστρέφει τον αριθμό εβδομάδας για τη δεδομένη ημερομηνία.
ΕΤΟΣΕπιστρέφει το έτος από τη δεδομένη ημερομηνία.
ΕΤΟΣΕπιστρέφει τον αριθμό έτους και εβδομάδας για τη δεδομένη ημερομηνία.

Διάφορες συναρτήσεις

Διάφορες συναρτήσεις
ΟνομαΠεριγραφή
ΑΠΟΘΗΚΗΕπιστρέφει τον δεδομένο αριθμό σε δυαδικό.
ΔΥΑΔΙΚΟΣΕπιστρέφει τη δεδομένη τιμή ως δυαδική συμβολοσειρά.
ΕΚΜΑΓΕΙΟΜετατροπή ενός τύπου σε άλλο.
ΣΥΝΑΥΞΑΝΩΑπό μια λίστα τιμών, επιστρέψτε την πρώτη μη μηδενική τιμή.
CONNECTION_IDΓια την τρέχουσα σύνδεση, επιστρέψτε το μοναδικό αναγνωριστικό σύνδεσης.
CONVΜετατρέψτε τον δεδομένο αριθμό από ένα αριθμητικό βασικό σύστημα σε άλλο.
ΜΕΤΑΤΡΕΠΩΜετατρέψτε τη δεδομένη τιμή σε δεδομένο τύπο δεδομένων ή σύνολο χαρακτήρων.
ΤΡΕΧΩΝ ΧΡΗΣΤΗΣΕπιστρέψτε το όνομα χρήστη και κεντρικού υπολογιστή που χρησιμοποιήθηκε για έλεγχο ταυτότητας με το διακομιστή.
ΒΑΣΗ ΔΕΔΟΜΕΝΩΝΛάβετε το όνομα της τρέχουσας βάσης δεδομένων.
ΟΜΑΔΑ ΑΠΟΧρησιμοποιήθηκε παράλληλα με τις συγκεντρωτικές συναρτήσεις (COUNT, MAX, MIN, SUM, AVG) για την ομαδοποίηση των αποτελεσμάτων.

Παράδειγμα: Εμφανίζει τον αριθμό των χρηστών με ενεργές παραγγελίες.

SELECT COUNT (user_id), ενεργές_παραγγελίες
ΑΠΟ χρήστες
GROUP BY active_orders;
ΕΧΟΥΝΧρησιμοποιείται στη θέση WHERE με συγκεντρωτικές συναρτήσεις.

Παράδειγμα: Εμφανίζει τον αριθμό των χρηστών με ενεργές παραγγελίες, αλλά περιλαμβάνει μόνο χρήστες με περισσότερες από 3 ενεργές παραγγελίες.

SELECT COUNT (user_id), ενεργές_παραγγελίες
ΑΠΟ χρήστες
GROUP BY active_orders
ΕΧΟΥΝ ΚΟΙΝΟ (user_id)> 3;
ΑΝΕάν η συνθήκη είναι αληθινή επιστρέψτε μια τιμή, διαφορετικά επιστρέψτε μια άλλη τιμή.
ΑΥΤΟΚΙΝΗΤΑΕάν η δεδομένη έκφραση ισοδυναμεί με null, επιστρέψτε τη δεδομένη τιμή.
ΝΗΣΙΕάν η έκφραση είναι μηδενική, επιστρέψτε 1, διαφορετικά επιστρέψτε 0.
LAST_INSERT_IDΓια την τελευταία σειρά που προστέθηκε ή ενημερώθηκε σε έναν πίνακα, επιστρέψτε το αναγνωριστικό αυτόματης αύξησης.
NULLIFΣυγκρίνει τις 2 δεδομένες εκφράσεις. Εάν είναι ίσοι, το NULL επιστρέφεται, διαφορετικά επιστρέφεται η πρώτη έκφραση.
SESSION_USERΕπιστρέψτε τα τρέχοντα ονόματα χρηστών και κεντρικών υπολογιστών.
ΣΥΣΤΗΜΑ_ΧΡΗΣΤΗΊδιο με το SESSION_USER.
ΧΡΗΣΤΗΣΊδιο με το SESSION_USER.
ΕΚΔΟΧΗΕπιστρέφει την τρέχουσα έκδοση του MySQL που τροφοδοτεί τη βάση δεδομένων.

Χαρακτήρες μπαλαντέρ

Στη SQL, οι χαρακτήρες μπαλαντέρ είναι ειδικοί χαρακτήρες που χρησιμοποιούνται με λέξεις-κλειδιά LIKE και NOT LIKE που μας επιτρέπουν να αναζητούμε δεδομένα με εξελιγμένα μοτίβα πολύ πιο αποτελεσματικά.

Μπαλαντέρ
ΟνομαΠεριγραφή
%Ισούται με μηδέν ή περισσότερους χαρακτήρες.

Παράδειγμα 1: Βρείτε όλους τους χρήστες με επώνυμα που τελειώνουν σε "γιος".

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΟΝΟΜΑ ΕΙΝΑΙ «% γιος»;

Παράδειγμα 2: Βρείτε όλους τους χρήστες που ζουν σε πόλεις που περιέχουν το μοτίβο «che»

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΑΡΧΕΙ η πόλη '% che%';
_Ισούται με οποιονδήποτε μεμονωμένο χαρακτήρα.

Παράδειγμα: Βρείτε όλους τους χρήστες που ζουν σε πόλεις ξεκινώντας με οποιονδήποτε 3 χαρακτήρες, ακολουθούμενο από το «chester».

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ Αρέσει η πόλη "___chester";
[charlist]Ισούται με οποιονδήποτε μεμονωμένο χαρακτήρα στη λίστα.

Παράδειγμα 1: Βρείτε όλους τους χρήστες με τα ονόματα που ξεκινούν με J, H ή M.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ Πρώτο όνομα_ΠΕΡΙΕΧΕΙ '[jhm]%';

Παράδειγμα 2: Βρείτε όλους τους χρήστες με τα πρώτα ονόματα που αρχίζουν με γράμματα μεταξύ A - L.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΠΡΩΤΟ όνομα_ ΑΠΌ "[a-l]%";

Παράδειγμα 3: Βρείτε όλους τους χρήστες με τα ονόματα που δεν τελειώνουν με γράμματα μεταξύ n - s.

ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ Πρώτο όνομα_ΠΕΡΙΕΧΕΙ '% [! N-s]';

Κλειδιά

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

Πρωτεύων κλειδί

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

Συνήθως σε έναν πίνακα, το πρωτεύον κλειδί είναι μια στήλη ID και συνήθως συνδυάζεται με τη λέξη-κλειδί AUTO_INCREMENT. Αυτό σημαίνει ότι η τιμή αυξάνεται αυτόματα καθώς δημιουργούνται νέες εγγραφές.

Παράδειγμα 1 (MySQL)

Δημιουργήστε έναν νέο πίνακα και ορίστε το πρωτεύον κλειδί στη στήλη Αναγνωριστικό.

ΔΗΜΙΟΥΡΓΙΑ χρηστών ΠΙΝΑΚΑΣ (
id int NOT NULL AUTO_INCREMENT,
first_name varchar (255),
last_name varchar (255) ΔΕΝ NULL,
διεύθυνση varchar (255),
email varchar (255),
ΚΥΡΙΟ ΠΡΩΤΟΒΟΥΛΙΟ (id)
)

Παράδειγμα 2 (MySQL)

Αλλάξτε έναν υπάρχοντα πίνακα και ορίστε το πρωτεύον κλειδί στη στήλη first_name.

Χρήστες ALTER TABLE
ΠΡΟΣΘΗΚΗ ΠΡΩΤΟΒΟΥΛΙΟΥ (όνομα_ πρώτου)

Ξένο κλειδί

Ένα ξένο κλειδί μπορεί να εφαρμοστεί σε μία στήλη ή πολλές και χρησιμοποιείται για τη σύνδεση 2 πινάκων μαζί σε μια σχεσιακή βάση δεδομένων.

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

Πλήκτρα MySQL

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

Παράδειγμα 1 (MySQL)

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

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΩΝ παραγγελιών (
id int ΟΧΙ NULL,
user_id int,
product_id int,
ΚΥΡΙΟ ΠΡΩΤΟΒΟΥΛΙΟ (id),
ΚΛΕΙΔΙ ΕΞΩΤΕΡΙΚΟΥ (user_id) ΑΝΑΦΟΡΕΣ χρήστες (id),
ΠΛΗΡΟΦΟΡΙΕΣ ΕΞΩΤΕΡΙΚΟΥ (product_id) ΠΑΡΑΠΟΜΠΕΣ προϊόντα (id)
)

Παράδειγμα 2 (MySQL)

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

Παραγγελίες ALTER TABLE
ΠΡΟΣΘΗΚΗ ΕΞΩΤΕΡΙΚΟΥ ΚΛΕΙΔΙΟΥ (user_id) ΑΝΑΦΟΡΕΣ χρήστες (id);

Ευρετήρια

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

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

Ευρετήρια
ΟνομαΠεριγραφή
ΔΗΜΙΟΥΡΓΙΑ ΔΕΙΚΤΗΣΔημιουργεί ένα ευρετήριο με το όνομα «idx_test» στις στήλες ονόματος_και επώνυμου του πίνακα χρηστών. Σε αυτήν την περίπτωση, επιτρέπονται διπλές τιμές.
ΔΗΜΙΟΥΡΓΙΑ INDEX idx_test
ΕΝΕΡΓΟΠΟΙΗΜΕΝΟΙ (όνομα_συνόλου, επώνυμο)
ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΑΔΙΚΟΥ ΔΕΙΚΤΗΤο ίδιο με τα παραπάνω, αλλά χωρίς διπλές τιμές.

ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΑΔΙΚΟΥ INDEX idx_test
ΕΝΕΡΓΟΠΟΙΗΜΕΝΟΙ (όνομα_συνόλου, επώνυμο)
ΔΕΙΚΤΗΣ ΠΡΟΣΤΑΣΙΑΣΚαταργεί ένα ευρετήριο.

Χρήστες ALTER TABLE
DROP INDEX idx_test;

Συμμετέχει

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

Υπάρχουν διάφοροι συνδυασμοί που μπορείτε να χρησιμοποιήσετε:-

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

Ένας συνηθισμένος τρόπος οπτικοποίησης του τρόπου συμμετοχής είναι έτσι:

Η MySQL συμμετέχει

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

Θα αντικαταστήσουμε το user_id και product_id με το όνομα_στηλών και το επώνυμο στηλών του χρήστη που υπέβαλε την παραγγελία, μαζί με το όνομα του αντικειμένου που αγοράστηκε.

Παράδειγμα πίνακα MySQL

SELECT orders.id, users.first_name, users.surname, products.name ως "όνομα προϊόντος"
ΑΠΟ παραγγελίες
INNER JOIN χρήστες στις παραγγελίες.user_id = users.id
INNER JOIN προϊόντα στις παραγγελίες.product_id = products.id;

Θα επιστρέψει ένα σύνολο αποτελεσμάτων που μοιάζει με:

Παράδειγμα πίνακα MySQL

Θέα

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

Δημιουργία προβολών

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

ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΒΟΛΗΣ priority_users AS
ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
WHERE country = "Ηνωμένο Βασίλειο";

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

SELECT * FROM [priority_users].

Αντικατάσταση προβολών

Με την εντολή CREATE OR REPLACE, μπορεί να ενημερωθεί μια προβολή.

ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΠΡΟΒΟΛΗΣ [priority_users] AS
ΕΠΙΛΕΞΤΕ * ΑΠΟ χρήστες
ΠΟΥ ΧΩΡΟΣ = "Ηνωμένο Βασίλειο" Ή χώρα = "ΗΠΑ";

Διαγραφή προβολών

Για να διαγράψετε μια προβολή, απλώς χρησιμοποιήστε την εντολή DROP VIEW.

DROP VIEW priority_users;

συμπέρασμα

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map