Εργασία με MySQL από τη γραμμή εντολών. Αυτόματη εγκατάσταση της MySQL στα Windows Εκτελέστε το mysql από τη γραμμή εντολών του linux

Εκκίνηση και διακοπή του διακομιστή MySQL από τη γραμμή εντολών

Μπορείτε να ξεκινήσετε μη αυτόματα τον διακομιστή MySQL με έναν από τους δύο τρόπους:

Κάντε διπλό κλικ στο αρχείο mysqld-nt.exe που βρίσκεται στον υποκατάλογο bin του καταλόγου όπου είναι εγκατεστημένη η MySQL.

Ανοίξτε ένα παράθυρο γραμμής εντολών των Windows. Για να το κάνετε αυτό, κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση από το μενού, στο παράθυρο Εκτέλεση προγράμματος που εμφανίζεται, στο πεδίο Άνοιγμα, πληκτρολογήστε την εντολή cmd και κάντε κλικ στο OK. Στην οθόνη θα εμφανιστεί ένα παράθυρο γραμμής εντολών (Εικ. 1.25).

Ρύζι. 1,25.Παράθυρο γραμμής εντολών


Στη γραμμή εντολών, πληκτρολογήστε την εντολή

mysqld-nt

και πατήστε Enter. Ο διακομιστής MySQL θα ξεκινήσει.

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

C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt

Εάν θέλετε να προβάλετε διαγνωστικά μηνύματα σχετικά με τον διακομιστή σε ένα παράθυρο γραμμής εντολών, αντί για mysqld-nt, πληκτρολογήστε

mysqld-nt – κονσόλα

Προσοχή!

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

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

κωδικός πρόσβασης root mysqladmin -u<пароль>

(ή C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u κωδικός ρίζας<пароль>, εάν η διαδρομή προς τον υποκατάλογο bin δεν προστέθηκε στη μεταβλητή συστήματος Path κατά τη ρύθμιση του διακομιστή) και πατήστε Enter.

Στο μέλλον, εάν χρειαστεί να αλλάξετε τον κωδικό πρόσβασης χρήστη root, εκτελέστε την ίδια εντολή, χρησιμοποιώντας μόνο την επιλογή -p:

κωδικός πρόσβασης mysqladmin -u root -p<новый пароль>

Όταν εμφανιστεί η προτροπή Enter password, πληκτρολογήστε τον παλιό σας κωδικό πρόσβασης και πατήστε Enter.

Τέλος, εάν πρέπει να σταματήσετε τον διακομιστή MySQL, εκτελέστε την εντολή

mysqladmin -u root -p τερματισμός λειτουργίας

και στη γραμμή εντολών Enter password, πληκτρολογήστε τον κωδικό πρόσβασης χρήστη root. Πατήστε Enter. Ο διακομιστής MySQL θα διακοπεί.

Μπορείτε επίσης να χρησιμοποιήσετε το βοηθητικό πρόγραμμα γραφικών MySQL Administrator για να ξεκινήσετε και να σταματήσετε τον διακομιστή MySQL.

Εκκίνηση και διακοπή του MySQL Server με χρήση του MySQL Administrator

Για να ξεκινήσετε τον διακομιστή MySQL χρησιμοποιώντας το βοηθητικό πρόγραμμα γραφικών MySQL Administrator, ακολουθήστε αυτά τα βήματα.

1. Εκκινήστε το πρόγραμμα MySQL Administrator (Έναρξη → Όλα τα προγράμματα → MySQL → Διαχειριστής MySQL). Στην οθόνη θα εμφανιστεί ένα παράθυρο σύνδεσης διακομιστή (Εικ. 1.26).

Ρύζι. 1.26.


2. Πατήστε και κρατήστε πατημένο το πλήκτρο Ctrl και κάντε κλικ στο κουμπί Παράλειψη που εμφανίζεται στην κάτω δεξιά γωνία του παραθύρου αντί για το κουμπί Άκυρο. Στην οθόνη θα εμφανιστεί το κύριο παράθυρο του MySQL Administrator (Εικ. 1.27).

Ρύζι. 1.27.Κύριο παράθυρο του MySQL Administrator


4. Εάν ο διακομιστής MySQL δεν έχει ρυθμιστεί ως υπηρεσία Windows, το κουμπί Start Service που βρίσκεται στο δεξιό τμήμα του παραθύρου είναι γκριζαρισμένο. Πρέπει να γίνουν τα ακόλουθα προκαταρκτικά βήματα:

1) Μεταβείτε στην καρτέλα Διαμόρφωση υπηρεσίας. Βρείτε το κουμπί Εγκατάσταση νέας υπηρεσίας στο κάτω μέρος της καρτέλας και κάντε κλικ σε αυτό.

2) στο παράθυρο διαλόγου που εμφανίζεται, καθορίστε το όνομα της υπηρεσίας και κάντε κλικ στο OK.

3) στο πεδίο Config Filename, εισαγάγετε τη διαδρομή προς το αρχείο διαμόρφωσης my.ini (Εικ. 1.28), για παράδειγμα C:\Program Files\MySQL\MySQL Server 5.0\my.ini. Το κόκκινο χρώμα γραμματοσειράς σημαίνει ότι το αρχείο δεν βρέθηκε. αν το χρώμα αλλάξει σε κανονικό, τότε η διαδρομή είναι σωστή.

4) στο πεδίο Path to binary, εισαγάγετε τη διαδρομή προς το αρχείο mysqld-nt.exe, για παράδειγμα C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt;

6) επιστρέψτε στην καρτέλα Start/Stop Service.

Ρύζι. 1.28.Διαμόρφωση καρτέλας υπηρεσίας 5. Κάντε κλικ στο κουμπί Έναρξη υπηρεσίας. Ο διακομιστής MySQL θα ξεκινήσει.


Προσοχή!

Εάν δεν καθορίσατε κωδικό πρόσβασης χρήστη root κατά τη ρύθμιση του διακομιστή MySQL, πρέπει να τον ορίσετε την πρώτη φορά που θα ξεκινήσετε τον διακομιστή (διαφορετικά οποιοσδήποτε μπορεί να διαχειριστεί τον διακομιστή ως root χωρίς κωδικό πρόσβασης). Στην τρέχουσα έκδοση του MySQL Administrator, ο καθορισμός του κωδικού πρόσβασης root δεν είναι διαθέσιμος και για να εκτελέσετε αυτήν τη λειτουργία πρέπει να χρησιμοποιήσετε το βοηθητικό πρόγραμμα γραμμής εντολών mysqladmin (δείτε την υποενότητα «Έναρξη και διακοπή του διακομιστή MySQL από τη γραμμή εντολών»).

Για να διακόψετε τον διακομιστή MySQL χρησιμοποιώντας τον Διαχειριστή MySQL, ακολουθήστε αυτά τα βήματα.

1. Εκκινήστε το πρόγραμμα MySQL Administrator (Έναρξη → Όλα τα προγράμματα → MySQL → Διαχειριστής MySQL). Στην οθόνη θα εμφανιστεί ένα παράθυρο σύνδεσης διακομιστή (βλ. Εικόνα 1.26).

Κεντρικός υπολογιστής διακομιστή – τιμή localhost (τοπικός υπολογιστής).

Θύρα – επιλεγμένος αριθμός θύρας κατά τη ρύθμιση του διακομιστή (προεπιλογή – 3306).

Όνομα χρήσης – ρίζα;

Κωδικός πρόσβασης – κωδικός χρήστη root. Κάντε κλικ στο OK.

3. Στο κύριο παράθυρο του MySQL Administrator, στο αριστερό παράθυρο, κάντε κλικ στο Service Control.

4. Στο δεξιό τμήμα του παραθύρου, κάντε κλικ στο κουμπί Stop Service. Ο διακομιστής MySQL θα διακοπεί.

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

Εκκίνηση και διακοπή του διακομιστή MySQL από τον πίνακα ελέγχου

Εάν ο διακομιστής MySQL διαμορφώθηκε ως υπηρεσία Windows χρησιμοποιώντας τον οδηγό εγκατάστασης (δείτε την υποενότητα "Διαμόρφωση του διακομιστή MySQL") ή χρησιμοποιώντας το βοηθητικό πρόγραμμα MySQL Administrator (δείτε την υποενότητα "Έναρξη και διακοπή του διακομιστή MySQL με χρήση του MySQL Administrator"), τότε ξεκινήστε και σταματήστε it Μπορείτε να χρησιμοποιήσετε το στοιχείο Υπηρεσίες του Πίνακα Ελέγχου.

Για να αποκτήσετε πρόσβαση στο στοιχείο Υπηρεσίες, κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Πίνακας Ελέγχου από το μενού, στη συνέχεια κάντε διπλό κλικ στο Εργαλεία διαχείρισης στον Πίνακα Ελέγχου και, τέλος, κάντε διπλό κλικ στις Υπηρεσίες στο παράθυρο Εργαλεία διαχείρισης. Το παράθυρο Υπηρεσίες θα εμφανιστεί στην οθόνη (Εικ. 1.29) με μια λίστα με όλες τις τοπικές υπηρεσίες.

Ρύζι. 1.29.Υπηρεσία MySQL στον πίνακα ελέγχου


Στο παράθυρο Υπηρεσίες, κάντε κλικ στο όνομα της υπηρεσίας MySQL (το όνομα καθορίζεται κατά τη δημιουργία της υπηρεσίας στον οδηγό ρύθμισης παραμέτρων ή στον διαχειριστή MySQL). Στη συνέχεια, κάντε κλικ στον επιθυμητό σύνδεσμο κάτω από το όνομα της υπηρεσίας: Start Service, Stop Service ή Restart Service.

Μόλις εκτελεστεί ο διακομιστής MySQL, μπορείτε να συνδεθείτε σε αυτόν. Στις επόμενες υποενότητες θα μάθετε πώς να το κάνετε αυτό.

Σύνδεση στον διακομιστή από τη γραμμή εντολών

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

1. Ανοίξτε ένα παράθυρο γραμμής εντολών των Windows. Για να το κάνετε αυτό, κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση από το μενού, στο παράθυρο Εκτέλεση προγράμματος που εμφανίζεται, πληκτρολογήστε cmd στο πεδίο Άνοιγμα και κάντε κλικ στο OK.

2. Στη γραμμή εντολών (βλ. Εικόνα 1.25), εισαγάγετε την εντολή

mysql -h<Имя компьютера>-u<Имя пользователя>-Π

(Οπου<Имя компьютера>είναι το όνομα του υπολογιστή στον οποίο εκτελείται ο διακομιστής) και πατήστε Enter. Όταν σας ζητηθεί να εισάγετε τον κωδικό πρόσβασης, εισαγάγετε τον κωδικό πρόσβασης του χρήστη.

Εάν πρέπει να συνδεθείτε σε έναν διακομιστή MySQL που εκτελείται στον ίδιο υπολογιστή, το όνομα του υπολογιστή (localhost) μπορεί να παραλειφθεί, για παράδειγμα

mysql -u root -p

Μετά τη σύνδεση στον διακομιστή, η γραμμή εντολών θα αλλάξει σε mysql> (Εικόνα 1.30). Τώρα μπορείτε να ξεκινήσετε να εργάζεστε με τη βάση δεδομένων: να προσθέσετε πίνακες, να εισαγάγετε και να αναζητήσετε δεδομένα, να εγγράψετε νέους χρήστες κ.λπ.

Ρύζι. 1.30.Σύνδεση στον διακομιστή MySQL από τη γραμμή εντολών


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

και πατήστε Enter.

Ένας εναλλακτικός τρόπος σύνδεσης με τον διακομιστή MySQL παρέχεται από το βοηθητικό πρόγραμμα γραφικών MySQL Query Browser.

Σύνδεση στον διακομιστή χρησιμοποιώντας το πρόγραμμα περιήγησης MySQL Query

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

1. Εκκινήστε το πρόγραμμα MySQL Query Browser (Έναρξη → Όλα τα προγράμματα → MySQL → MySQL Query Browser). Στην οθόνη θα εμφανιστεί ένα παράθυρο σύνδεσης διακομιστή (Εικ. 1.31).

Ρύζι. 1.31.Παράθυρο σύνδεσης διακομιστή MySQL


2. Στα πεδία του παραθύρου σύνδεσης διακομιστή, εισαγάγετε τις παραμέτρους σύνδεσης:

Server Host – το όνομα του υπολογιστή στον οποίο εκτελείται ο διακομιστής MySQL.

Θύρα – αριθμός θύρας που επιλέχθηκε κατά τη ρύθμιση του διακομιστή (προεπιλογή – 330 6).

Όνομα χρήστη – όνομα χρήστη.

Κωδικός πρόσβασης – κωδικός χρήστη.

Προεπιλεγμένο σχήμα - Το όνομα της βάσης δεδομένων με την οποία θα εργαστείτε (αυτό μπορεί να είναι μια υπάρχουσα βάση δεδομένων ή μια νέα).

3. Κάντε κλικ στο OK. Εάν εισαγάγατε ένα όνομα για τη νέα βάση δεδομένων, τότε στο παράθυρο διαλόγου που εμφανίζεται, κάντε κλικ στο Ναι για να δημιουργήσετε αυτήν τη βάση δεδομένων.

Μετά τη σύνδεση στον διακομιστή, θα εμφανιστεί στην οθόνη το κύριο παράθυρο του MySQL Query Browser (Εικ. 1.32). Σε αυτό μπορείτε να εκτελέσετε οποιεσδήποτε λειτουργίες με τη βάση δεδομένων: προσθήκη πινάκων, εισαγωγή και αναζήτηση δεδομένων, εγγραφή νέων χρηστών κ.λπ.

Ρύζι. 1.32.Κύριο παράθυρο του προγράμματος περιήγησης MySQL Query


Προσοχή!

Η προεπιλεγμένη γραμματοσειρά που χρησιμοποιείται στο MySQL Query Browser για την εμφάνιση ερωτημάτων SQL δεν υποστηρίζει ρωσικά γράμματα. Για να εισαγάγετε ρωσικά γράμματα σε κείμενα ερωτημάτων, πρέπει να επιλέξετε διαφορετική γραμματοσειρά (για παράδειγμα, Arial ή Book Antiqua). Για να το κάνετε αυτό, στο κύριο παράθυρο του προγράμματος περιήγησης ερωτημάτων MySQL, ανοίξτε το μενού Εργαλεία και επιλέξτε Επιλογές. Στο παράθυρο Επιλογές που εμφανίζεται, στην αριστερή περιοχή, κάντε κλικ στις Γενικές Επιλογές και στη δεξιά περιοχή, στο πεδίο Γραμματοσειρά κώδικα, επιλέξτε τη γραμματοσειρά που θέλετε από τη λίστα. Κάντε κλικ στο κουμπί Εφαρμογή.

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

Αυτό ολοκληρώνει την εισαγωγή μας στη MySQL και προχωράμε στην περίληψη των αποτελεσμάτων.

1.6. Περίληψη

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

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

Κεφάλαιο 2
Διαχείριση βάσεων δεδομένων με SQL

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

Μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις πολλές εφαρμογές πελάτη διακομιστή MySQL για να εκτελέσετε εντολές SQL. Αυτό το κεφάλαιο δεν καλύπτει εφαρμογές τρίτων. Θα γνωρίσετε μόνο εφαρμογές που δημιουργούνται από το MySQL AB: το βοηθητικό πρόγραμμα γραμμής εντολών mysql και το βοηθητικό πρόγραμμα γραφικών MySQL Query Browser.

Όλες οι λειτουργίες δεδομένων είναι διαθέσιμες και στα δύο βοηθητικά προγράμματα. Το MySQL Query Browser είναι βολικό για εργασία με τη βάση δεδομένων: τα στοιχεία του παρουσιάζονται ξεκάθαρα, μπορείτε να επεξεργαστείτε απευθείας δεδομένα (χωρίς να χρησιμοποιήσετε τον τελεστή SQL UPDATE), να εργαστείτε με ερωτήματα, για παράδειγμα, να τα δημιουργήσετε χρησιμοποιώντας ένα ειδικό εργαλείο (και δεν χρειάζεστε για να εισαγάγετε τα ονόματα των πινάκων και των στηλών με μη αυτόματο τρόπο ), αποθηκεύστε ερωτήματα σε ένα αρχείο, εξάγετε αποτελέσματα ερωτημάτων και πολλά άλλα. Μπορείτε να μάθετε για όλες τις δυνατότητες του MySQL Query Browser ανατρέχοντας στην τεκμηρίωση στα ρωσικά, την οποία μπορείτε να βρείτε στη διεύθυνση http://dev.mysql.com/doc/query-browser/ru/index.html.

Πρώτα θα μάθετε πώς να εκτελείτε εντολές SQL στο MySQL Query Browser και στη γραμμή εντολών και, στη συνέχεια, θα καλύψουμε μόνο τη σύνταξη των εντολών SQL.

2.1. Εκτέλεση εντολών SQL

Πριν εκτελέσετε εντολές SQL, πρέπει να συνδεθείτε σε έναν διακομιστή MySQL που λειτουργεί (το πώς να το κάνετε αυτό περιγράφηκε στο Κεφάλαιο 1). Σε αυτήν την ενότητα, θα μάθετε πώς να δημιουργείτε εντολές SQL και να τις υποβάλλετε στον διακομιστή για εκτέλεση.

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

ΣΕΤ ΟΝΟΜΑΤΩΝ cp866;

Μπορείτε να δείτε το αποτέλεσμα της εκτέλεσης αυτής της εντολής στο Σχ. 2.1.

Ρύζι. 2.1.Ρύθμιση της κωδικοποίησης στη γραμμή εντολών


Η εντολή SET NAMES πρέπει να επαναληφθεί όταν Ολοισύνδεση στον διακομιστή χρησιμοποιώντας τη γραμμή εντολών. Αυτή η εντολή λέει στον διακομιστή ότι αυτή η εφαρμογή-πελάτης (βοηθητικό πρόγραμμα mysql) χρησιμοποιεί κωδικοποίηση CP-866 (αυτή είναι η κωδικοποίηση γραμμής εντολών των Windows) και ο διακομιστής θα εκτελέσει αυτόματα τη μετατροπή κωδικοποίησης κατά την επικοινωνία με την εφαρμογή πελάτη.

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

Ρύζι. 2.2.Εκτέλεση ερωτήματος SQL στη γραμμή εντολών


Το βοηθητικό πρόγραμμα mysql σας επιτρέπει να εισάγετε εντολές πολλαπλών γραμμών (στο Σχ. 2.3 η εντολή SHOW DATABASES καταχωρήθηκε με αυτόν τον τρόπο). Εάν δεν εισαγάγετε ερωτηματικό ως σύμβολο του τέλους της εντολής, τότε όταν πατάτε το πλήκτρο Enter, το βοηθητικό πρόγραμμα δεν στέλνει την εντολή στον διακομιστή, αλλά σας ζητά να συνεχίσετε την εισαγωγή της εντολής. Εάν θέλετε να ακυρώσετε μια εντολή πολλών γραμμών, πληκτρολογήστε \c (Εικόνα 2.3).

Ρύζι. 2.3.Εντολή πολλαπλών γραμμών


Εάν χρησιμοποιείτε το πρόγραμμα περιήγησης MySQL Query, τότε δεν χρειάζεται να ορίσετε την κωδικοποίηση - αυτό το πρόγραμμα λειτουργεί σε κωδικοποίηση UTF-8 και το αναφέρει αυτό στον διακομιστή. Ωστόσο, στο MySQL Query Browser υπάρχει πρόβλημα με την εμφάνιση των ρωσικών γραμμάτων στην περιοχή ερωτήματος (η περιοχή όπου εισάγεται το κείμενο των εντολών SQL, Εικ. 2.4). Για να λύσετε αυτό το πρόβλημα, πρέπει να αλλάξετε τη γραμματοσειρά που χρησιμοποιείται στην περιοχή ερωτήματος (το πώς να το κάνετε αυτό περιγράφηκε στο τέλος του προηγούμενου κεφαλαίου). Χρειάζεται να αλλάξετε τη γραμματοσειρά μόνο μία φορά.

Ρύζι. 2.4.Εκτέλεση ερωτήματος SQL στο πρόγραμμα περιήγησης ερωτημάτων MySQL


Στην περιοχή ερωτήματος, μπορείτε να εισαγάγετε πολλές εντολές SQL ταυτόχρονα, όπως φαίνεται στην Εικόνα. 2.4. Η τρέχουσα εντολή (ο κέρσορας βρίσκεται σε μία από τις γραμμές της) επισημαίνεται με λευκό φόντο, οι υπόλοιπες εντολές εμφανίζονται σε ανοιχτό γκρι φόντο. Για να εκτελέσετε την τρέχουσα εντολή, μπορείτε να κάνετε κλικ είτε στο κουμπί Εκτέλεση που βρίσκεται στα δεξιά της περιοχής προτροπής είτε στο συνδυασμό πλήκτρων Ctrl+Enter. Μετά την εκτέλεση της εντολής, τα ζητούμενα δεδομένα εμφανίζονται στην περιοχή αποτελεσμάτων και ένα μήνυμα σχετικά με το αποτέλεσμα της εντολής εμφανίζεται στο κάτω μέρος αυτής της περιοχής.

Τώρα που μάθατε πώς να εισάγετε εντολές SQL, ας αρχίσουμε να διαχειριζόμαστε δεδομένα χρησιμοποιώντας αυτές τις εντολές. Πρώτα απ 'όλα, θα εξετάσουμε τις εντολές που έχουν σχεδιαστεί για να λειτουργούν με τη βάση δεδομένων ως σύνολο.

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

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

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

ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ<Имя базы данных>;

Για παράδειγμα, η εντολή

ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Πωλήσεων;

δημιουργεί μια βάση δεδομένων με το όνομα SalesDept.

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

ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ<Имя базы данных>

ΣΕΤ ΧΑΡΑΚΤΗΡΑ<Имя кодировки>

ΑΝΤΙΠΑΡΑΒΑΛΛΩ<Имя правила сравнения>;

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

ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Τμήμα Πωλήσεων

ΣΕΤ ΧΑΡΑΚΤΗΡΩΝ cp1251 ΣΥΓΚΡΟΤΗΜΑ cp1251_general_ci;

Συμβουλή

Για να προβάλετε τη λίστα των κωδικοποιήσεων που χρησιμοποιούνται στη MySQL, εκτελέστε την εντολή SHOW CHARACTER SET. και για να δείτε μια λίστα κανόνων για τη σύγκριση συμβολικών τιμών, χρησιμοποιήστε την εντολή SHOW COLLATION;. Σε αυτήν την περίπτωση, μπορείτε να χρησιμοποιήσετε τον τελεστή LIKE: για παράδειγμα, για να δείτε όλους τους κανόνες σύγκρισης για την κωδικοποίηση CP-1251, εκτελέστε την εντολή SHOW COLLATION LIKE %1251%;. Η κατάληξη "_ci" (χωρίς διάκριση πεζών και κεφαλαίων) στο όνομα των κανόνων σύγκρισης σημαίνει ότι όταν η σύγκριση και η ταξινόμηση των χαρακτήρων δεν λαμβάνεται υπόψη, η κατάληξη "_cs" (με διάκριση πεζών-κεφαλαίων) - πεζών και κεφαλαίων λαμβάνεται υπόψη, η κατάληξη "_bin" (δυαδικό) - η σύγκριση και η ταξινόμηση εκτελούνται με αριθμούς κωδικούς χαρακτήρων. Για τους περισσότερους κανόνες σύγκρισης, μπορείτε να βρείτε μια περιγραφή (δηλαδή τη σειρά των χαρακτήρων σύμφωνα με την οποία θα ταξινομηθούν οι τιμές κειμένου) στην ιστοσελίδα http://www.collation-charts.org/mysql60/.

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

Μπορείτε να αλλάξετε τον κανόνα κωδικοποίησης ή/και σύγκρισης για τιμές χαρακτήρων για τη βάση δεδομένων χρησιμοποιώντας την εντολή

ΑΛΛΑΓΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ<Имя базы данных>

ΣΕΤ ΧΑΡΑΚΤΗΡΑ<Имя кодировки>

ΑΝΤΙΠΑΡΑΒΑΛΛΩ<Имя правила сравнения>;

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

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

ΑΠΟΣΤΟΛΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ<Имя базы данных>;

Προσοχή!

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

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

ΧΡΗΣΗ<Имя базы данных>;

Για παράδειγμα,:

USE SalesDept;

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

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

ΕΜΦΑΝΙΣΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ.

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

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

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

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

Έτσι, έχετε κατακτήσει τις βασικές λειτουργίες που εκτελούνται με τη βάση δεδομένων στο σύνολό της: τις εντολές CREATE DATABASE (δημιουργία), ALTER DATABASE (αλλαγή), DROP DATABASE (διαγραφή), USE (επιλέξτε την τρέχουσα βάση δεδομένων) και SHOW DATBASE (προβολή λίστας των βάσεων δεδομένων). Στη συνέχεια θα δούμε τις λειτουργίες του πίνακα. Σε αυτήν την περίπτωση, θα υποθέσουμε ότι έχετε επιλέξει μια βάση δεδομένων ως τρέχουσα και εργάζεστε με τους πίνακες της.

2.3. Εργασία με τραπέζια

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

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

Για να δημιουργήσετε έναν πίνακα, εκτελέστε την εντολή που εμφανίζεται στην Λίστα 2.1.

Λίστα 2.1.Εντολή δημιουργίας πίνακα

ΔΗΜΙΟΥΡΓΙΑ ΤΡΑΠΕΖΙΟΥ<Имя таблицы>

(<Имя столбца 1> <Тип столбца 1> [<Свойства столбца 1>],

<Имя столбца 2> <Тип столбца 2> [<Свойства столбца 2>],

[<Информация о ключевых столбцах и индексах>])

[<Опциональные свойства таблицы>];


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

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

Ας υποθέσουμε ότι χτίζουμε τη βάση δεδομένων που σχεδιάσαμε στο Κεφάλαιο 1. Χρησιμοποιώντας τις εντολές από την προηγούμενη ενότητα, δημιουργήσαμε μια κενή βάση δεδομένων SalesDept και την επιλέξαμε ως τρέχουσα. Τώρα ας δημιουργήσουμε τρεις πίνακες: Πελάτες, Προϊόντα και Παραγγελίες. Η λίστα 2.2 δείχνει την εντολή για τη δημιουργία του πίνακα Πελάτες.

Λίστα 2.2.Εντολή για τη δημιουργία του πίνακα Πελάτες

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Πελάτες

(αναγνωριστικό ΣΕΙΡΑ,

όνομα VARCHAR(100),

τηλέφωνο VARCHAR(20),

διεύθυνση VARCHAR(150),

βαθμολογία INT,

ΚΥΡΙΟ ΚΛΕΙΔΙ (αναγνωριστικό))


Αυτή η εντολή χρησιμοποίησε παραμέτρους: πρώτον, το όνομα του πίνακα και, δεύτερον, τα ονόματα και τους τύπους των στηλών από τις οποίες θα αποτελείται ο πίνακας (βλ. επίσης Πίνακα 1.1 στο Κεφάλαιο 1).

Αναγνωριστικό – αναγνωριστικό εγγραφής. Εκχωρήσατε τον τύπο SERIAL σε αυτήν τη στήλη, ο οποίος σας επιτρέπει να αριθμήσετε αυτόματα τις σειρές του πίνακα. Η λέξη-κλειδί SERIAL σημαίνει ΜΕΓΑΛΟ ΜΗ ΥΠΟΓΡΑΦΟ ΟΧΙ NULL AUTO_INCREMENT UNIQUE. Αυτό σημαίνει ότι μεγάλοι ακέραιοι (BIGINT) θετικοί (UNSIGNED) αριθμοί μπορούν να εισαχθούν στη στήλη, ενώ η απουσία απροσδιόριστων και διπλών τιμών (NOT NULL UNIQUE) ελέγχεται αυτόματα. Εάν, κατά την προσθήκη μιας γραμμής σε έναν πίνακα, δεν καθορίσετε μια τιμή για αυτήν τη στήλη, τότε το πρόγραμμα MySQL θα εισαγάγει τον επόμενο αριθμό σειράς (AUTO_INCREMENT) σε αυτήν τη στήλη.

Σημείωση

Το NULL είναι μια σταθερά που δείχνει την απουσία τιμής. Εάν μια στήλη περιέχει μια τιμή NULL, τότε θεωρείται ότι δεν υπάρχει καθορισμένη τιμή για αυτήν τη στήλη (γι' αυτό ονομάζουμε επίσης NULL τιμή null). Το NULL δεν πρέπει να συγχέεται με την κενή συμβολοσειρά ("") ή τον αριθμό 0. Οι τιμές NULL αντιμετωπίζονται διαφορετικά: οι περισσότερες συναρτήσεις και τελεστές επιστρέφουν NULL εάν ένα από τα ορίσματα είναι NULL. Για παράδειγμα, το αποτέλεσμα σύγκρισης 1 = 1 είναι μια αληθινή τιμή (TRUE) και το αποτέλεσμα σύγκρισης NULL = NULL είναι μια απροσδιόριστη τιμή (NULL), δηλαδή δύο απροσδιόριστες τιμές δεν θεωρούνται ίσες.

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

Τρίτον, προσδιορίσατε ότι η στήλη id θα είναι το πρωτεύον κλειδί του πίνακα, συμπεριλαμβάνοντας μια ρήτρα ΠΡΩΤΙΚΟ ΚΛΕΙΔΙ (id) στην εντολή δημιουργίας πίνακα.

Τέταρτον, έχετε καθορίσει δύο προαιρετικές παραμέτρους για αυτόν τον πίνακα. Η παράμετρος ENGINE καθορίζει τον τύπο του πίνακα. Εκχωρήσατε στον πίνακα "Πελάτες" τον τύπο InnoDB, καθώς μόνο αυτός ο τύπος διασφαλίζει τη διατήρηση της ακεραιότητας των σχέσεων μεταξύ των πινάκων (περισσότερες λεπτομέρειες σχετικά με τους τύπους πινάκων θα αναλυθούν στην ενότητα "Προαιρετικές ιδιότητες πίνακα"). Η παράμετρος CHARACTER SET καθορίζει την προεπιλεγμένη κωδικοποίηση για τα δεδομένα του πίνακα. Επειδή δεν έχετε ορίσει την κωδικοποίηση ξεχωριστά για τις στήλες ονόματος, τηλεφώνου και διεύθυνσης, τα δεδομένα σε αυτές τις στήλες θα αποθηκευτούν στο UTF-8, που είναι η προεπιλεγμένη κωδικοποίηση για τον πίνακα "Πελάτες".

Το επόμενο παράδειγμα που θα δούμε είναι η εντολή δημιουργίας πίνακα Προϊόντων που εμφανίζεται στη Λίστα 2.3.

Λίστα 2.3.Εντολή δημιουργίας πίνακα προϊόντων

ΔΗΜΙΟΥΡΓΙΑ ΤΡΑΠΕΖΙΩΝ Προϊόντων

(αναγνωριστικό ΣΕΙΡΑ,

περιγραφή VARCHAR(100),

λεπτομέρειες ΚΕΙΜΕΝΟ,

τιμή ΔΕΚΑΔΙΚΟ(8,2),

ΚΥΡΙΟ ΚΛΕΙΔΙ (αναγνωριστικό))

ΣΕΤ ΧΑΡΑΚΤΗΡΩΝ ΚΙΝΗΤΗΡΑΣ InnoDB utf8;


Αυτή η εντολή μοιάζει πολύ με την εντολή για τη δημιουργία του πίνακα Πελάτες και διαφέρει μόνο στο όνομα του πίνακα και στο σύνολο των στηλών. Οι στήλες αναγνωριστικό (αριθμός προϊόντος) και περιγραφή (όνομα προϊόντος) του πίνακα Προϊόντα έχουν τύπους που είναι ήδη γνωστοί σε εμάς. Η στήλη λεπτομερειών είναι τύπου TEXT. Αυτός ο τύπος είναι βολικός στη χρήση αντί του τύπου VARCHAR εάν η στήλη περιέχει μεγάλες τιμές: το συνολικό μήκος των τιμών όλων των στηλών VARCHAR περιορίζεται στα 65.535 byte για κάθε πίνακα και δεν υπάρχει όριο στο συνολικό μήκος του τις στήλες TEXT. Το μειονέκτημα του τύπου TEXT είναι η αδυναμία συμπερίληψης τέτοιων στηλών στο ξένο κλειδί ενός πίνακα, δηλαδή η δημιουργία σχέσης μεταξύ πινάκων με βάση αυτές τις στήλες.

Η στήλη τιμής είναι τύπου ΔΕΚΑΔΙΑΚΗΣ, σχεδιασμένη να αποθηκεύει χρηματικά ποσά και άλλες αξίες για τις οποίες είναι σημαντικό να αποφεύγονται σφάλματα στρογγυλοποίησης. Έχουμε υποδείξει δύο αριθμούς σε παρένθεση: ο πρώτος από αυτούς καθορίζει τον μέγιστο αριθμό ψηφίων στην τιμή της στήλης, ο δεύτερος - τον μέγιστο αριθμό ψηφίων μετά το δεκαδικό διαχωριστικό. Με άλλα λόγια, η τιμή ενός προϊόντος μπορεί να περιέχει έως και έξι ψηφία στο ακέραιο μέρος (6 = 8–2) και έως δύο ψηφία στο κλασματικό μέρος.

Και τέλος, το τελευταίο παράδειγμα είναι η εντολή για τη δημιουργία του πίνακα Παραγγελίες, που εμφανίζεται στη Λίστα 2.4.

Λίστα 2.4.Εντολή δημιουργίας πίνακα παραγγελιών

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

(αναγνωριστικό ΣΕΙΡΑ,

ημερομηνία DATE,

product_id ΜΕΓΑΛΟ ΜΗ ΥΠΟΓΡΑΦΗΜΕΝΟ ΟΧΙ NULL,

ποσοτητα ΑΝΥΠΟΓΡΑΦΗ,

ποσό ΔΕΚΑΔΙΚΟ(10,2),

customer_id ΜΕΓΑΛΗ ΜΗ ΥΠΟΓΡΑΦΗ,

ΚΥΡΙΟ ΚΛΕΙΔΙ (αναγνωριστικό),

ΞΕΝΟ ΚΛΕΙΔΙ (αναγνωριστικό προϊόντος) ΑΝΑΦΟΡΕΣ Προϊόντα (αναγνωριστικό)

ΣΧΕΤΙΚΑ ΜΕ ΤΗ ΔΙΑΓΡΑΦΗ ΠΕΡΙΟΡΙΣΜΟΥ ΣΤΗΝ ΕΝΗΜΕΡΩΣΗ CASCADE,

ΞΕΝΟ ΚΛΕΙΔΙ (customer_id) ΑΝΑΦΟΡΕΣ Πελάτες (id)

ΣΧΕΤΙΚΑ ΜΕ ΤΗ ΔΙΑΓΡΑΦΗ ΠΕΡΙΟΡΙΣΜΟΥ ΣΤΗΝ ΕΝΗΜΕΡΩΣΗ CASCADE)

ΣΕΤ ΧΑΡΑΚΤΗΡΩΝ ΚΙΝΗΤΗΡΑΣ InnoDB utf8;


Ένα ιδιαίτερο χαρακτηριστικό του πίνακα Orders είναι η παρουσία ξένων κλειδιών: η στήλη product_id περιέχει αριθμούς προϊόντων από τον πίνακα Products και η στήλη customer_id περιέχει αριθμούς πελατών από τον πίνακα Customers (βλ. επίσης Πίνακα 1.2 στο Κεφάλαιο 1). Επειδή οι αριθμοί προϊόντων και πελατών είναι μεγάλοι θετικοί ακέραιοι αριθμοί, εκχωρήσαμε τις στήλες product_id και customer_id για να πληκτρολογήσετε BIGINT UNISIGNED.

Στη συνέχεια, για να διασφαλίσουμε ότι η ακεραιότητα των σχέσεων διατηρείται αυτόματα (μιλήσαμε για την ακεραιότητα στο Κεφάλαιο 1), είπαμε στη MySQL σε ποιο πρωτεύον κλειδί αντιστοιχεί κάθε ξένο κλειδί. Έτσι, η κατασκευή ΞΕΝΟ ΚΛΕΙΔΙ (customer_id) REFERENCES Customers (id) σημαίνει ότι η στήλη customer_id μπορεί να περιέχει μόνο τιμές από τη στήλη id του πίνακα Customers και μηδενικές τιμές, ενώ άλλες τιμές απαγορεύονται. Για τη στήλη product_id, ορίσαμε έναν παρόμοιο περιορισμό και εκχωρήσαμε την ιδιότητα NOT NULL σε αυτήν τη στήλη για να αποτρέψουμε την καταχώρηση παραγγελιών με ένα απροσδιόριστο προϊόν. Επιπλέον, υποδείξαμε τους κανόνες για τη διατήρηση της ακεραιότητας για κάθε μία από τις συνδέσεις (τους συζητήσαμε επίσης στο Κεφάλαιο 1). Ο κανόνας ON DELETE RESTRICT σημαίνει ότι δεν μπορείτε να διαγράψετε μια εγγραφή πελάτη εάν αυτός ο πελάτης έχει καταχωρημένη παραγγελία και δεν μπορείτε να διαγράψετε μια εγγραφή προϊόντος εάν αυτό το προϊόν παραγγέλθηκε από κάποιον. Ο κανόνας ON UPDATE CASCADE σημαίνει ότι όταν αλλάζει ένας αριθμός πελάτη στον πίνακα Πελάτες ή ένας αριθμός στοιχείου στον πίνακα Προϊόντα, οι αντίστοιχες αλλαγές γίνονται στον πίνακα Παραγγελίες.

Σημείωση

Λάβετε υπόψη ότι δημιουργήσαμε τον πίνακα Παραγγελίες τελευταίο επειδή τα κύρια κλειδιά στους πίνακες Πελάτες και Προϊόντα πρέπει να δημιουργηθούν πριν από τα ξένα κλειδιά στον πίνακα Παραγγελίες που αναφέρονται σε αυτά. Ωστόσο, θα ήταν δυνατό να δημιουργήσουμε πίνακες χωρίς ξένα κλειδιά με οποιαδήποτε σειρά και στη συνέχεια να προσθέσουμε ξένα κλειδιά χρησιμοποιώντας την εντολή ALTER TABLE, την οποία θα δούμε στην υποενότητα «Αλλαγή της δομής του πίνακα».

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

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

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

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

ΚΟΜΜΑΤΙ[(<Количествобитов>)].

Ένας αριθμός bit που περιέχει έναν καθορισμένο αριθμό bit. Εάν ο αριθμός των bit δεν έχει καθοριστεί, ο αριθμός αποτελείται από ένα bit.

Ένας ακέραιος αριθμός στην περιοχή από -128 έως 127, ή (αν έχει καθοριστεί η ιδιότητα ΜΗ ΥΠΟΓΡΑΦΗ) από 0 έως 255.

BOOL ή BOOLEAN.

Είναι συνώνυμα για τον τύπο δεδομένων TINYINT(1) (ο αριθμός στην παρένθεση είναι ο αριθμός των ψηφίων που θα εμφανιστούν, βλ. σημείωση παρακάτω). Σε αυτήν την περίπτωση, μια μη μηδενική τιμή θεωρείται αληθής (TRUE), μια μηδενική τιμή θεωρείται ψευδής (FALSE).

Ένας ακέραιος αριθμός στην περιοχή από -32.768 έως 32.767 ή (αν έχει καθοριστεί η ιδιότητα ΜΗ ΥΠΟΓΡΑΦΗ) από 0 έως 65.535.

Ένας ακέραιος αριθμός στο εύρος από -8.388.608 έως 8.388.607 ή (αν έχει καθοριστεί η ιδιότητα ΜΗ ΥΠΟΓΡΑΦΗ) από 0 έως 16.777.215.

INT ή ΑΚΕΡΑΙΟΣ.

Ένας ακέραιος αριθμός στην περιοχή από -2,147,483,648 έως 2,147,483,647 ή (αν έχει καθοριστεί η ιδιότητα ΜΗ ΥΠΟΓΡΑΦΗ) από 0 έως 4,294,967,295.

Ένας ακέραιος αριθμός στην περιοχή από -9,223,372,036,854,775,808 έως 9,223,372,036,854,775,807 ή (εάν έχει καθοριστεί η ιδιότητα ΜΗ ΥΠΟΓΡΑΦΗ) από 0 έως 18,446,747,695,075.

Συνώνυμο του BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE (ένας μεγάλος ανυπόγραφος ακέραιος αριθμός που δέχεται αυτόματα αυξημένες μοναδικές τιμές. Οι τιμές NULL δεν επιτρέπονται). Χρησιμοποιείται για την αυτόματη δημιουργία μοναδικών τιμών σε μια στήλη πρωτεύοντος κλειδιού. Θα βρείτε μια περιγραφή των ιδιοτήτων UNSIGNED και AUTO_INCREMENT σε αυτήν την υποενότητα και των ιδιοτήτων NOT NULL και UNIQUE στην ενότητα "Ιδιότητες στήλης".

Σημείωση

Για όλους τους ακέραιους τύπους δεδομένων, εκτός από το BOOL (BOOLEAN) και το SERIAL, μπορείτε να καθορίσετε σε παρένθεση τον αριθμό των εμφανιζόμενων ψηφίων, ο οποίος χρησιμοποιείται σε συνδυασμό με την παράμετρο ZEROFILL: εάν ο αριθμός περιέχει λιγότερα ψηφία, τότε όταν εξάγεται συμπληρώνεται στο έμεινε με μηδενικά. Για παράδειγμα, εάν μια στήλη πίνακα ορίζεται ως INT(5) ZEROFILL, τότε οι τιμές "1234567" και "12345" εμφανίζονται ως έχουν και η τιμή "123" εμφανίζεται ως "00123". Για τον τύπο δεδομένων BIT, το μέγεθος του αριθμού, δηλαδή ο μέγιστος αριθμός των αποθηκευμένων bit, υποδεικνύεται σε παρένθεση.

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

mysql στην αρχή της γραμμής σημαίνει ότι η εντολή εκτελείται μετά τη σύνδεση MySQL.

Το σύμβολο # ή $ στην αρχή της γραμμής σημαίνει ότι η εντολή εκτελείται από τη γραμμή εντολών.

Για να ελέγξετε την κατάσταση του διακομιστή MYSQLκάνω:

Για FreeBSD:

# υπηρεσία mysql-server status

V CentOS/RHEL:

# υπηρεσία mysqld κατάσταση

MySQLαπό την κονσόλα εάν ο διακομιστής MySQLβρίσκεται στον ίδιο οικοδεσπότη:

Για να συνδεθείτε στον διακομιστή MySQLαπό την κονσόλα εάν ο διακομιστής MySQLβρίσκεται στον απομακρυσμένο κεντρικό υπολογιστή db1.example.com:

$ mysql -u όνομα χρήστη -p -h db1.example.com

Εργασία με βάσεις δεδομένων και πίνακες - προβολή, διαγραφή, επεξεργασία εγγραφών. Κονσόλα

Δημιουργία βάσης δεδομένων στο MySQLυπηρέτης:

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

Εμφάνιση λίστας με όλες τις βάσεις δεδομένων στο διακομιστή MySQL:

χρήση mysql ;

Εμφάνιση όλων των πινάκων στη βάση δεδομένων:

Mysql εμφανίζει πίνακες?

Δείτε τη μορφή πίνακα στη βάση δεδομένων:

mysql περιγραφή ;

Διαγραφή βάσης δεδομένων:

Mysql drop database ;

Διαγραφή πίνακα από τη βάση δεδομένων:

Mysql drop table ;

Εμφάνιση όλων των περιεχομένων του πίνακα:

Mysql SELECT * FROM ;

Εμφάνιση στηλών και περιεχομένων στηλών στον επιλεγμένο πίνακα:

Η Mysql εμφανίζει στήλες από ;

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

Mysql SELECT * FROM WHERE = "whatever";

Εμφάνιση όλων των εγγραφών σε έναν συγκεκριμένο πίνακα που περιέχει το "Bob" και τον αριθμό τηλεφώνου "3444444:

Mysql SELECT * FROM WHERE name = "Bob" AND phone_number = "3444444";

Εμφάνιση όλων των καταχωρήσεων, ΔΕΝπου περιέχει το όνομα "Bob" και τον αριθμό τηλεφώνου "3444444", ταξινομημένα με βάση το πεδίο phone_number:

Mysql SELECT * FROM WHERE name != " Bob " AND phone_number = " 3444444 " order by phone_number;

Εμφάνιση όλων των καταχωρήσεων που ξεκινούν με τα γράμματα "bob" και τον αριθμό τηλεφώνου "3444444" σε έναν συγκεκριμένο πίνακα:

Mysql SELECT * FROM WHERE όνομα όπως "Bob %" ΚΑΙ phone_number = "3444444";

Εμφάνιση όλων των καταχωρήσεων που ξεκινούν με τα γράμματα "bob" και τον αριθμό τηλεφώνου "3444444", περιορίζοντας τις καταχωρήσεις 1 έως 5:

Mysql SELECT * FROM WHERE όνομα όπως "Bob %" ΚΑΙ phone_number = "3444444" όριο 1,5;

Χρήση κανονικών εκφράσεων ("REGEXP BINARY") για αναζήτηση εγγραφών. Για παράδειγμα, για μια αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων, βρείτε όλες τις εγγραφές που ξεκινούν με το γράμμα A:

Mysql SELECT * FROM WHERE rec RLIKE "^a";

Εμφάνιση όλων των μοναδικών καταχωρήσεων:

Mysql SELECT DISTINCT FROM; mysql ΕΠΙΛΟΓΗ , ΑΠΟ ΠΑΡΑΓΓΕΛΙΑ ΚΑΤΑ DESC;

Εμφάνιση του αριθμού των σειρών στον πίνακα:

Mysql SELECT COUNT(*) FROM ;

Mysql SELECT SUM(*) FROM ;

Αφαίρεση στήλης:

Mysql αλλαγή στήλης πτώσης πίνακα ;

Προσθήκη στήλης στη βάση δεδομένων:

Mysql alter πίνακα προσθήκη στήλης varchar(20);

Αλλαγή του ονόματος της στήλης:

Mysql αλλαγή πίνακα αλλαγή varchar(50);

Δημιουργήστε μια στήλη με ένα μοναδικό όνομα για να αποφύγετε διπλότυπα ονόματα:

Mysql alter table add unique();

Αλλαγή μεγέθους στήλης:

Mysql αλλαγή πίνακα τροποποίηση VARCHAR(3);

Αφαίρεση στήλης από πίνακα:

Mysql alter πίνακα πτώσης index ;

Η Mysql LOAD DATA INFILE " /tmp/filename.csv " αντικαθιστά ΣΕ ΠΕΔΙΑ ΤΟΥ ΠΙΝΑΚΑ ΠΟΥ ΤΕΡΜΑΤΙΖΟΝΤΑΙ ΑΠΟ "," ΓΡΑΜΜΕΣ ΠΟΥ ΤΕΡΜΑΤΙΖΟΝΤΑΙ ΑΠΟ "n" (field1,field2,field3);

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

Δημιουργία νέου χρήστη - σύνδεση με τον διακομιστή MySQLως root, μετάβαση σε βάση δεδομένων, προσθήκη χρήστη, ενημέρωση δικαιωμάτων:

# mysql -u root -p mysql χρήση mysql; mysql INSERT INTO user (Host,User,Password) VALUES("%"," username ", PASSWORD("password")); Προνόμια flush mysql.

Αλλαγή του κωδικού πρόσβασης χρήστη από την κονσόλα στον απομακρυσμένο κεντρικό υπολογιστή db1.example.org:

# mysqladmin -u όνομα χρήστη -h db1.example.org -p κωδικός πρόσβασης " new-password "

Αλλαγή του κωδικού πρόσβασης χρήστη από την κονσόλα MySQL- σύνδεση ως root, ενημέρωση κωδικού πρόσβασης, ενημέρωση δικαιωμάτων:

# mysql -u root -p mysql SET PASSWORD FOR " user "@" hostname " = PASSWORD(" passwordhere "); Προνόμια flush mysql.

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

# /etc/init.d/mysql stop # mysqld_safe -skip-grant-tables & # mysql -u root mysql use mysql; mysql ενημέρωση συνόλου χρήστη κωδικός πρόσβασης=PASSWORD(" newrootpassword ") όπου User="root"; mysql ; flush προνόμια? mysql κλείσιμο # /etc/init.d/mysql stop # /etc/init.d/mysql start

Ορίστε έναν κωδικό πρόσβασης root εάν υπάρχει κωδικός πρόσβασης root.

# mysqladmin -u κωδικός πρόσβασης ρίζας νέος κωδικός πρόσβασης

Ενημέρωση κωδικού πρόσβασης root:

# mysqladmin -u root -p παλιός κωδικός νέος κωδικός πρόσβασης

Ρύθμιση του δικαιώματος σύνδεσης στον διακομιστή από τον κεντρικό υπολογιστή localhost με τον κωδικό πρόσβασης "passwd" - σύνδεση στο subroot, μετάβαση στη βάση δεδομένων, ρύθμιση προνομίων, ενημέρωση δικαιωμάτων:

# mysql -u root -p mysql χρήση mysql; Η mysql παραχωρεί χρήση στο *.* στον bob @localhost που προσδιορίζεται από το " passwd "; Προνόμια flush mysql.

Ρύθμιση δικαιωμάτων χρήστη για χρήση της βάσης δεδομένων - σύνδεση ως root, μετάβαση στη βάση δεδομένων, ρύθμιση προνομίων, ενημέρωση δικαιωμάτων:

# mysql -u root -p mysql χρήση mysql; mysql INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) ΤΙΜΕΣ ("%","όνομα βάσης δεδομένων","όνομα χρήστη","Y","Y","Y"," Υ", "Υ", "Ν"); Προνόμια flush mysql.

Η Mysql παραχωρεί όλα τα δικαιώματα στο όνομα βάσης δεδομένων .* στο όνομα χρήστη @localhost. Προνόμια flush mysql.

Ενημέρωση πληροφοριών στη βάση δεδομένων:

ΣΕΤ ΕΝΗΜΕΡΩΣΗΣ Mysql Select_priv = "Y",Insert_priv = "Y",Update_priv = "Y" όπου = χρήστης";

Διαγραφή σειράς σε πίνακα:

Mysql DELETE from where = "whatever";

Ενημέρωση προνομίων στη βάση δεδομένων:

Προνόμια flush Mysql.

Αντίγραφα ασφαλείας - δημιουργία, επαναφορά βάσεων δεδομένων. Κονσόλα

Δημιουργήστε ένα αντίγραφο ασφαλείας (dump) όλων των βάσεων δεδομένων στο αρχείο alldatabases.sql:

# mysqldump -u root -p κωδικός πρόσβασης -opt ; /tmp/alldatabases.sql

Δημιουργήστε αντίγραφα ασφαλείας μιας βάσης δεδομένων στο αρχείο databasename.sql:

# mysql dump -u όνομα χρήστη -p κωδικός πρόσβασης -όνομα βάσης δεδομένων βάσεων δεδομένων ; /tmp/databasename.sql

Δημιουργήστε αντίγραφα ασφαλείας ενός πίνακα στο αρχείο databasename.tablename.sql:

# mysql dump -c -u όνομα χρήστη -p κωδικός πρόσβασης όνομα βάσης δεδομένων όνομα πίνακα ; /tmp/databasename.tablename.sql

Επαναφορά μιας βάσης δεδομένων (ή πίνακα) από ένα αντίγραφο ασφαλείας:

# mysql -u όνομα χρήστη -p κωδικός πρόσβασης όνομα βάσης δεδομένων< /tmp/databasename.sql

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

Τα ονόματα των στηλών υποδεικνύονται με μικρά γράμματα.
ΚΕΦΑΛΑΙΑ γράμματα - τύποι και χαρακτηριστικά στηλών.
σε (αγκύλες) - η τιμή του τύπου στήλης.

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

mysql CREATE TABLE (όνομα VARCHAR(20), μεσαίο αρχικό VARCHAR(3), επώνυμο VARCHAR(35), επίθημα VARCHAR(3), officeid VARCHAR(10), userid VARCHAR(15), όνομα χρήστη VARCHAR(8), email VARCHAR(35 ), τηλέφωνο VARCHAR(25), ομάδες VARCHAR(15), σφραγίδα ημερομηνίας DATE, χρονική σήμανση TIME, pgpemail VARCHAR(255));

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

Mysql δημιουργία πίνακα (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, όνομα VARCHAR(35), μεσαίο όνομα VARCHAR(50), επώνυμο VARCHAR(50) προεπιλεγμένο "bato");

Από τον συγγραφέα:κορίτσι, το αυτοκίνητό σου δεν ξεκινά; Ίσως μπορούμε να το δοκιμάσουμε "από το σπρώξιμο"; Θα βοηθήσω! Δεν ξέρω πώς είναι; Ξεκινήσατε τον διακομιστή DBMS μόνο μέσω cmd; Αυτό σημαίνει ότι ξέρετε πώς να ξεκινήσετε τη MySQL μέσω της γραμμής εντολών, αλλά δεν ξέρετε καν πώς να ξεκινήσετε ένα αυτοκίνητο. Mademoiselle, είσαι μια «περίεργη» ξανθιά!

Παραξενιές στην περιγραφή της MySQL

Κατά την προετοιμασία κάθε άρθρου, πρέπει να ψάξω «ενδελεχώς» το Διαδίκτυο αναζητώντας υλικά αναφοράς για έναν ή τον άλλο κλάδο «κατασκευής ιστότοπου». Ως επί το πλείστον, υπάρχουν πολλοί λεπτομερείς οδηγοί και σεμινάρια που δημοσιεύονται στο Διαδίκτυο, αλλά όχι για τη MySQL.

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

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

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

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

Εκκινήστε το cmd

Για να εκκινήσετε τη MySQL από τη γραμμή εντολών, ενεργοποιήστε πρώτα το ίδιο το βοηθητικό πρόγραμμα (cmd), το οποίο περιλαμβάνεται στο τυπικό σύνολο των Windows. Μπορείτε να το κάνετε αυτό με διάφορους τρόπους:

Συντόμευση πληκτρολογίου Win + R και, στη συνέχεια, στο παράθυρο διαλόγου "Εκτέλεση" που εμφανίζεται, πληκτρολογήστε cmd

Μέσω του πίνακα Έναρξη.

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

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

Εργασία με τη γραμμή εντολών

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

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

Λογαριασμός χρήστη – σύνδεση και κωδικός πρόσβασης.

Εάν εργάζεστε με το Denver, τότε το εκτελέσιμο αρχείο βρίσκεται στον εικονικό δίσκο που δημιουργείται μετά την εκκίνηση του τοπικού διακομιστή, κατά μήκος αυτής της διαδρομής: Z:\usr\local\mysql-5.5\bin

Όπως είπα ήδη, η γραμμή εντολών MySQL στο Denwer εκκινείται μέσω cmd OC. Δηλαδή, πρώτα το εκκινούμε και μετά καθορίζουμε τη διαδρομή προς το εκτελέσιμο αρχείο DBMS. Ο κωδικός πρόσβασης και η σύνδεση για πρόσβαση μπορούν να καθοριστούν πρώτα ή αργότερα μετά την ενεργοποίηση του βοηθητικού προγράμματος MySQL. Όσο για μένα, είναι πιο βολικό να καταχωρήσω τα πάντα ταυτόχρονα: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

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

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

ΕΜΦΑΝΙΣΤΕ ΑΝΟΙΚΤΟΥΣ ΠΙΝΑΚΕΣ.

ΔΕΙΞΤΕ ΑΝΟΙΚΤΟΥΣ ΤΡΑΠΕΖΟΥΣ ;

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

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

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

Εργασία με άλλες εφαρμογές

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

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

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

mysqldump -uroot world>C:\Users\home\Desktop\dump\copy.sql

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

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

Άλλα βοηθητικά προγράμματα που περιλαμβάνονται στο τυπικό σετ εκκινούνται με παρόμοιο τρόπο. Με τη βοήθειά τους, μπορείτε να εκτελέσετε όλες τις βασικές λειτουργίες διαχείρισης DBMS: διαχείριση ρόλων, δημιουργία αντιγράφων ασφαλείας, επεξεργασία των περιεχομένων των αποθηκευτικών χώρων. Και επίσης εγκαταστήστε την υπηρεσία MySQL από τη γραμμή εντολών. Σε γενικές γραμμές, όλα χωρίς τα οποία ο διακομιστής της βάσης δεδομένων δεν θα ξεκινήσει "από το pusher".

Για Win 32, επιλέξτε τη διανομή: Windows (x86, 32-bit), Zip-Archive.

Για Win 64: Windows (x86, 64-bit), Zip-Archive.

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

2. Δημιουργήστε έναν φάκελο εγκατάστασης. Για παράδειγμα . Και αποσυσκευάστε τα περιεχόμενα του αρχείου σε αυτό έτσι ώστε οι φάκελοι κάδος, δεδομένα, έγγραφα και άλλαήταν στη ρίζα του φακέλου εγκατάστασης.

3. Ας προχωρήσουμε στη δημιουργία ενός αρχείου διαμόρφωσης (my.ini). Λαμβάνουμε ως βάση ένα από τα τυπικά αρχεία:

  • my-small.ini - κατάλληλο για όσους χρησιμοποιούν MySQL κατά καιρούς και δεν θέλουν ο διακομιστής να καταλαμβάνει πολλούς πόρους.
  • Το my-medium.ini είναι επίσης μια διαμόρφωση χαμηλών πόρων, αλλά είναι κατάλληλη για όσους χρησιμοποιούν MySQL σε συνεχή βάση (μια καλή επιλογή για έναν οικιακό διακομιστή web).
  • my-large.ini και my-huge.ini - για συστήματα που χρησιμοποιούνται ως αποκλειστικός διακομιστής MySQL. Ωστόσο, το my-large.ini μπορεί να χρησιμοποιηθεί για έναν οικιακό διακομιστή, εάν χρειάζεστε πρόσθετη απόδοση MySQL (512 MB RAM δεν είναι τόσο πολύ στις μέρες μας).
  • my-innodb-heavy-4G - για αποκλειστικούς διακομιστές με τουλάχιστον 4 GB μνήμης RAM και που χρησιμοποιούν μόνο πίνακες InnoDB.

Σε αυτό το παράδειγμα, επέλεξα το my-medium.ini ως βάση. Μετονομάστε το σε my.ini και τοποθετήστε το στη ρίζα του φακέλου εγκατάστασης ( C:\Program Files\MySQL\MySQL Server 5.5).

Ανοίξτε για επεξεργασία (στο κανονικό Σημειωματάριο) και αμέσως μετά τη γραμμή προσθέστε δύο παραμέτρους:

Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data

Σημειώστε ότι τα μονοπάτια χρησιμοποιούν κάθετες (/) αντί για ανάστροφες κάθετες (\).

Το basedir είναι η διαδρομή προς τον φάκελο εγκατάστασης.

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

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

# Ο διακομιστής MySQL basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/θύρα δεδομένων = 3306 υποδοχή = /tmp/mysql.sock skip-external-locking 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size =

4. Το επόμενο βήμα είναι να προσθέσετε τη διαδρομή C:\Program Files\MySQL\MySQL Server 5.5\binστη μεταβλητή περιβάλλοντος PATH για να διευκολυνθεί η εκκίνηση της MySQL από τη γραμμή εντολών. Για να το κάνετε αυτό, ανοίξτε Ιδιότητες συστήματος -> Πρόσθετες ρυθμίσεις συστήματος -> στην καρτέλα Για προχωρημένους, στο κάτω μέρος, το κουμπί "Μεταβλητές περιβάλλοντος...". Στο παράθυρο που ανοίγει, κάντε κύλιση στις μεταβλητές συστήματος μέχρι να βρούμε το Path. Επιλέξτε αυτή τη γραμμή και κάντε κλικ στο "Αλλαγή...". Στο τέλος της γραμμής προσθέτουμε τη διαδρομή μας, διατηρώντας τις υπάρχουσες παραμέτρους:

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

5. Πριν εκτελέσετε μια δοκιμαστική εκτέλεση, ανοίξτε την εισερχόμενη θύρα TCP 3306 στο Τείχος προστασίας των Windows:

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

6. Τώρα κάνουμε μια δοκιμαστική λειτουργία. Στη γραμμή εντολών που ξεκίνησε ως διαχειριστής (αυτό απαιτείται εάν το UAC είναι ενεργοποιημένο σε Seven ή Vista), εκτελέστε:

Mysqld -- κονσόλα

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

Έκδοση: Υποδοχή "5.5.9-log": Θύρα "": 3306 MySQL Community Server (GPL)

Αφήστε αυτό το παράθυρο ανοιχτό και ανοίξτε ένα άλλο παράθυρο γραμμής εντολών, στο οποίο εισάγουμε:

Mysql -u root

Εάν η σύνδεση ήταν επιτυχής, θα δείτε μια γραμμή εντολών: mysql>

Ας δούμε τι βάσεις δεδομένων έχουμε:

Εμφάνιση βάσεων δεδομένων.

Το ερωτηματικό στο τέλος του ερωτήματος SQL είναι ΥΠΟΧΡΕΩΤΙΚΟ!

Απάντηση ομάδας:

Τώρα είμαστε επιτέλους πεπεισμένοι ότι ο διακομιστής λειτουργεί.

7. Ας προχωρήσουμε στο επόμενο βήμα - πρέπει να ορίσετε τον κωδικό πρόσβασης διαχειριστή MySQL (χρήστης root). Δεν έχει οριστεί κωδικός πρόσβασης από προεπιλογή και αυτό πρέπει να διορθωθεί. Στο ίδιο παράθυρο της MySQL, πληκτρολογήστε τις ακόλουθες εντολές:

Χρησιμοποιήστε mysql UPDATE χρήστη SET password = PASSWORD("your_password") WHERE user = "root";

Ας ελέγξουμε το αποτέλεσμα:

ΕΠΙΛΟΓΗ χρήστη, οικοδεσπότης, κωδικός πρόσβασης ΑΠΟ χρήστη.

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

Πριν βγείτε, εκτελέστε την εντολή:

FLUSH ΠΡΟΝΟΜΙΑ?

Τώρα, κατά τη σύνδεση, πρέπει να εισαγάγετε έναν κωδικό πρόσβασης. Για να το κάνετε αυτό, χρησιμοποιήστε το διακόπτη -p:

Mysql -u root -p

Για να τερματίσετε την εκτέλεση της MySQL:

Απενεργοποίηση Mysqladmin -u root -p

8. Το τελευταίο βήμα είναι η εκκίνηση της MySQL ως υπηρεσία συστήματος των Windows.

Βεβαιωθείτε ότι δεν υπάρχουν ενεργές διεργασίες MySQL στο σύστημα.

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

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --εγκατάσταση

Η διαδρομή προς το mysqld πρέπει να καθοριστεί πλήρως (ακόμα και αν αναφέρεται στο PATH)!

Για να ξεκινήσετε την υπηρεσία, ανοίξτε το "Computer Management" και ξεκινήστε μη αυτόματα την υπηρεσία MySQL:

Ή ευκολότερα μέσω της γραμμής εντολών:

Καθαρή εκκίνηση mysql

Για να καταργήσετε μια υπηρεσία, πρώτα διακόψτε την:

Net stop mysql

και εκτελέστε:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --αφαίρεση

Από τον συγγραφέα:Έχετε χαθεί ξανά και δεν ξέρετε πώς να συνδεθείτε στη MySQL; Δεν είσαι ο πρώτος! Μάζεψε όλους αυτούς που χάθηκαν και τώρα πάμε κατευθείαν να την επισκεφτούμε. Σε ποιον «σε αυτήν»; Στα πιο δημοφιλή DBMS στον Παγκόσμιο Ιστό!

Πού βρίσκεται η MySQL στο Ντένβερ;

Αυτό δεν σημαίνει την πρωτεύουσα της πολιτείας του Κολοράντο στις ΗΠΑ, αλλά ένα πακέτο λογισμικού για τη δημιουργία και τη δοκιμή εφαρμογών σε PHP. Το κιτ για "κύριοι" περιλαμβάνει έναν τοπικό διακομιστή Apache, έναν διακομιστή MySQL και ένα κέλυφος phpMyAdmin. Είναι με τη βοήθεια αυτού του πακέτου λογισμικού που οι "αρχάριοι" μαθαίνουν τις περισσότερες φορές όλες τις περιπλοκές της εργασίας με αυτό το σύστημα διαχείρισης βάσης δεδομένων.

Προτού συνδεθείτε στη MySQL μέσω ενός προγράμματος περιήγησης, πρέπει να ξεκινήσετε έναν τοπικό διακομιστή και, στη συνέχεια, πληκτρολογήστε localhost στη γραμμή διευθύνσεων και στο παράθυρο που εμφανίζεται, "Γράψιμο, λειτουργεί!" Στην ενότητα βοηθητικά προγράμματα, επιλέξτε phpMyAdmin.

Μετά από αυτό θα βρεθείτε εκεί (στο phpMyAdmin).

Πηγαίνουμε στις βάσεις δεδομένων μέσω του «λαβύρινθου»

Εσείς και εγώ θα πάμε στο «πυκνό» δάσος και θα προσπαθήσουμε να το «περάσουμε» στον διακομιστή της βάσης δεδομένων. Μην νομίζετε ότι κρυβόμαστε από κάποιον, απλώς τώρα θα συμπεριφερόμαστε σαν... Πηγαίνω!

Πριν συνδεθείτε στη MySQL μέσω της γραμμής εντολών, θα πρέπει να μάθετε πού βρίσκεται ο κύριος κατάλογος διακομιστή βάσης δεδομένων. Εάν χρησιμοποιείτε το DBMS στην «καθαρή» του μορφή χωρίς «ακαθαρσίες» (εκτός του συνόλου «κυρίων»), τότε ο ριζικός φάκελος διακομιστή βρίσκεται εδώ: C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe

Εάν χρησιμοποιείτε το Ντένβερ, τότε το αρχείο που αναζητάτε βρίσκεται σε αυτήν τη διαδρομή: Z:\usr\local\mysql-5.5\bin\mysql.exe,

όπου Z είναι ο εικονικός δίσκος που δημιουργείται μετά την εκκίνηση του τοπικού διακομιστή web. Μπορεί να το έχετε με διαφορετικό όνομα (ακριβέστερα, γράμμα).

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

Τρόπος ενεργοποίησης της MySQL μέσω της γραμμής εντολών: μεταβείτε στο "Start", επιλέξτε "Command Prompt" από τα τυπικά προγράμματα. Ξεκινάμε το βοηθητικό πρόγραμμα και από εδώ και πέρα ​​θα περιγράφουμε όλη τη διαδικασία του «περπάτημα» στο πυκνό δάσος βήμα-βήμα, έτσι ώστε ολόκληρη η ομάδα των «χαμένων» ανθρώπων να μην χαθεί ξανά. Ας ξεκινήσουμε:

Στο μαύρο παράθυρο CMD (γραμμή εντολών), εισαγάγετε τη διαδρομή όπου είναι αποθηκευμένο το εκτελέσιμο αρχείο MySQL και δίπλα του υποδείξτε το όνομα χρήστη και τον κωδικό πρόσβασης του DBMS. Δεδομένου ότι έχουμε έναν τοπικό διακομιστή, εισάγουμε το όνομα χρήστη root χωρίς κωδικό πρόσβασης μετά το αναγνωριστικό u.

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

Εδώ είναι ολόκληρο το κομμάτι του "κώδικα": Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

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

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

Εμφάνιση βάσεων δεδομένων.

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

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

Εμφάνιση πινάκων από db1.

Εμφάνιση πινάκων από db1.

db1 είναι το όνομα της βάσης δεδομένων που χρειαζόμαστε.

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

Ας σκάψουμε πιο βαθιά!

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

ΕΠΙΛΟΓΗ * ΑΠΟ ζώο.

ΕΠΙΛΟΓΗ * ΑΠΟ ζώο ;

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

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

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

Ας διορθώσουμε την κοινή μας παράλειψη (είναι πάντα δύσκολο να παραδεχθούμε την ενοχή μας) και προτού συνδεθείτε ξανά στην MySQL μέσω της κονσόλας, θα προετοιμάσουμε ένα «συγκεκριμένο» ερώτημα με το οποίο θα κατευθύνουμε το σύστημα στην επιθυμητή βάση δεδομένων:

ΧΡΗΣΗ db1 ;

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

Και τώρα ας εισαγάγουμε και ας εκτελέσουμε ένα ερώτημα για να ανακτήσουμε ξανά όλα τα δεδομένα από τον πίνακα ζώων. «Ας υπάρχουν δεδομένα!» - είπε ο διαχειριστής και ξεκίνησε το SELECT. Φτάσαμε στο κάτω μέρος του db1 και πήραμε τα περιεχόμενα του πίνακα ζώων. Δεν είναι τυχαίο ότι πριν μπούμε στη βάση δεδομένων MySQL, πραγματοποιήσαμε ένα ολόκληρο «τελετουργικό» και γράψαμε το σωστό «ξόρκι» στο SQL.

Τι άλλο μπορείτε να ξεθάψετε;

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

περιγράψει ζώο?

περιγράψτε ζώο ;

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