Πώς να δημιουργήσετε βάση δεδομένων σε MySQL (Δημιουργώ MySQL πίνακες)
⚡ Έξυπνη Σύνοψη
Δημιουργία βάσης δεδομένων στο MySQL ακολουθεί δύο αποδεδειγμένες διαδρομές: την εκτέλεση μιας εντολής CREATE DATABASE ή τη δημιουργία φυσικών σχημάτων από ένα μοντέλο ER μέσω MySQL Προηγμένη μηχανική εργασίας σε πάγκο εργασίας. Και οι δύο προσεγγίσεις παράγουν πανομοιότυπους, έτοιμους για παραγωγή πίνακες.

Βήματα για τη δημιουργία βάσης δεδομένων σε MySQL
Μια βάση δεδομένων στο MySQL είναι ένα επώνυμο κοντέινερ για πίνακες, προβολές και σχετικά αντικείμενα. Μπορείτε να δημιουργήσετε ένα με δύο τρόπους:
1) Εκτελώντας ένα απλό ερώτημα SQL
2) Χρησιμοποιώντας την προοπτική μηχανική στο MySQL Πάγκος εργασίας
As Αρχάριος SQL, ας δούμε πρώτα τη μέθοδο ερωτήματος.
Πώς να δημιουργήσετε βάση δεδομένων σε MySQL
Εδώ είναι πώς να δημιουργήσετε μια βάση δεδομένων σε MySQL:
Η CREATE DATABASE είναι η εντολή SQL που χρησιμοποιείται για τη δημιουργία μιας βάσης δεδομένων MySQL.
Φανταστείτε ότι πρέπει να δημιουργήσετε μια βάση δεδομένων με το όνομα «ταινίες». Μπορείτε να δημιουργήσετε μια βάση δεδομένων στο MySQL εκτελώντας την ακόλουθη εντολή SQL.
CREATE DATABASE movies;
Σημείωση: Μπορείτε επίσης να χρησιμοποιήσετε την εντολή CREATE SCHEMA αντί για CREATE DATABASE.
Η εντολή λειτουργεί μόνο μία φορά. Η εκτέλεσή της ξανά εμφανίζει σφάλμα, επομένως ας βελτιώσουμε το ερώτημα με περισσότερες παραμέτρους.
ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ
Ενα μονό MySQL Ένας διακομιστής μπορεί να περιέχει πολλές βάσεις δεδομένων. Όταν πολλά άτομα μοιράζονται αυτόν τον διακομιστή, μπορείτε να προσπαθήσετε να δημιουργήσετε μια βάση δεδομένων με το όνομα μιας υπάρχουσας.
ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ δίνει οδηγίες στον MySQL διακομιστή για να ελέγξει για μια βάση δεδομένων με το ίδιο όνομα πριν τη δημιουργήσει. Η βάση δεδομένων δημιουργείται μόνο εάν το όνομα είναι ελεύθερο. Χωρίς αυτήν την ρήτρα, MySQL κάνει λάθος.
CREATE DATABASE IF NOT EXISTS movies;
Μόλις το όνομα της βάσης δεδομένων είναι ασφαλές, η επόμενη απόφαση είναι πώς MySQL θα πρέπει να αποθηκεύει και να συγκρίνει το κείμενο που περιέχει.
Συλλογή και σύνολο χαρακτήρων
A σύνολο χαρακτήρων αποφασίζει ποιους χαρακτήρες μπορεί να αποθηκεύσει μια στήλη, ενώ ένα αντιπαραβολή είναι το σύνολο των κανόνες που χρησιμοποιούνται σε σύγκριση και ταξινόμηση. Και τα δύο μπορούν να οριστούν σε τέσσερα επίπεδα: διακομιστής, βάση δεδομένων, πίνακας και στήλη.
Η ταξινόμηση που επιλέγετε εξαρτάται από το σύνολο χαρακτήρων. Για παράδειγμα, το σύνολο χαρακτήρων latin1 χρησιμοποιεί το latin1_swedish_ci ταξινόμηση, η οποία είναι η σουηδική σειρά χωρίς διάκριση πεζών-κεφαλαίων.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Για τοπικές γλώσσες όπως τα Αραβικά ή τα Κινέζικα, επιλέξτε το Unicode utf8mb4 σύνολο χαρακτήρων, το οποίο αποθηκεύει κάθε χαρακτήρα Unicode, συμπεριλαμβανομένων των emoji. Στο MySQL 8.0, utf8mb4 είναι το προεπιλεγμένο σύνολο χαρακτήρων και utf8mb4_0900_ai_ci η προεπιλεγμένη ταξινόμηση.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Μπορείτε να βρείτε τη λίστα με όλες τις συλλογές και τα σύνολα χαρακτήρων εδώ.
Μπορείτε να δείτε τη λίστα με τις υπάρχουσες βάσεις δεδομένων εκτελώντας την ακόλουθη εντολή SQL.
SHOW DATABASES;
Με τη βάση δεδομένων στη θέση της, μπορείτε τώρα να προσθέσετε τους πίνακες που θα περιέχουν τις εγγραφές.
Πώς να δημιουργήσετε πίνακα σε MySQL
Η εντολή CREATE TABLE χρησιμοποιείται για τη δημιουργία πινάκων σε μια βάση δεδομένων.
Όπως δείχνει το διάγραμμα, κάθε πίνακας ανήκει σε μία βάση δεδομένων. Οι πίνακες δημιουργούνται με το Δημιουργία πίνακα δήλωση, η οποία έχει την ακόλουθη σύνταξη.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ΕΔΩ
- Η εντολή "ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ" είναι υπεύθυνη για τη δημιουργία του πίνακα στη βάση δεδομένων.
- Η επιλογή "[ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ]" είναι προαιρετική και δημιουργεί τον πίνακα μόνο εάν δεν βρεθεί αντίστοιχο όνομα πίνακα.
- Το "`fieldName`" είναι το όνομα του πεδίου και το "data Type" ορίζει τη φύση των δεδομένων που είναι αποθηκευμένα σε αυτό.
- Οι «[προαιρετικές παράμετροι]» είναι επιπλέον πληροφορίες σχετικά με ένα πεδίο, όπως «AUTO_INCREMENT» ή «NOT NULL».
- Η «μηχανή αποθήκευσης» διαχειρίζεται τον πίνακα, συνήθως το InnoDB, ο οποίος υποστηρίζει συναλλαγές και ξένα κλειδιά.
MySQL Δημιουργία παραδείγματος πίνακα
Παρακάτω είναι μια MySQL παράδειγμα για τη δημιουργία ενός πίνακα σε μια βάση δεδομένων:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `full_names` VARCHAR(150) NOT NULL , `gender` VARCHAR(6) , `date_of_birth` DATE , `physical_address` VARCHAR(255) , `postal_address` VARCHAR(255) , `contact_number` VARCHAR(75) , `email` VARCHAR(255) , PRIMARY KEY (`membership_number`) ) ENGINE = InnoDB;
Σημείωση: η σωστή MySQL λέξη-κλειδί είναι AUTO_INCREMENT με μια υπογράμμιση. AUTOINCREMENT ανήκει στον SQLite και εμφανίζει ένα συντακτικό σφάλμα στο MySQL.
Κάθε στήλη περιέχει έναν τύπο δεδομένων, επομένως επιλέξτε προσεκτικά: ούτε υποτιμήστε ούτε υπερεκτιμήστε το εύρος δεδομένων που αναμένετε.
MySQL Τύποι δεδομένων
Οι τύποι δεδομένων καθορίζουν τη φύση των δεδομένων που μπορούν να αποθηκευτούν σε μια συγκεκριμένη στήλη ενός πίνακα.
MySQL έχει 3 κύριες κατηγορίες τύπων δεδομένων, δηλαδή:
- Αριθμητικός
- Κείμενο
- Ημερομηνία ώρα
Αριθμητικοί τύποι δεδομένων
Οι αριθμητικοί τύποι δεδομένων χρησιμοποιούνται για την αποθήκευση αριθμητικών τιμών. Είναι πολύ σημαντικό να βεβαιωθείτε ότι το εύρος των δεδομένων σας βρίσκεται μεταξύ του κατώτερου και του ανώτερου ορίου του αριθμητικού τύπου δεδομένων που επιλέγετε.
| TINYINT( ) | -128 έως 127 κανονικά 0 έως 255 ΑΝΥΠΟΓΡΑΦΗ. |
| SMALLINT( ) | -32768 έως 32767 κανονικά 0 έως 65535 ΑΝΥΠΟΓΡΑΦΗ. |
| MEDIUMINT( ) | -8388608 έως 8388607 κανονικά 0 έως 16777215 ΑΝΥΠΟΓΡΑΦΗ. |
| INT( ) | -2147483648 έως 2147483647 κανονικά 0 έως 4294967295 ΑΝΥΠΟΓΡΑΦΗ. |
| ΜΕΓΑΛΟ( ) | -9223372036854775808 έως 9223372036854775807 κανονικά 0 έως 18446744073709551615 ΑΝΥΠΟΓΡΑΦΗ. |
| FLOAT | Ένας μικρός κατά προσέγγιση αριθμός με κινητή υποδιαστολή. |
| ΔΙΠΛΟ( , ) | Ένας μεγάλος αριθμός με κινητή υποδιαστολή. |
| ΔΕΚΑΔΙΚΟ( , ) | Ένα DOUBLE αποθηκεύεται ως συμβολοσειρά, επιτρέποντας μια σταθερή υποδιαστολή. Επιλογή για την αποθήκευση τιμών νομισμάτων. |
Τύποι δεδομένων κειμένου
Όπως υποδηλώνει το όνομα της κατηγορίας τύπου δεδομένων, αυτά χρησιμοποιούνται για την αποθήκευση τιμών κειμένου. Βεβαιωθείτε πάντα ότι το μήκος των δεδομένων κειμένου σας δεν υπερβαίνει το μέγιστο μήκος της στήλης.
| CHAR( ) | Ένα σταθερό τμήμα μήκους από 0 έως 255 χαρακτήρες. |
| VARCHAR( ) | Μια μεταβλητή ενότητα μήκους από 0 έως 255 χαρακτήρες. |
| TINYTEXT | Μια συμβολοσειρά με μέγιστο μήκος 255 χαρακτήρες. |
| ΚΕΙΜΕΝΟ | Μια συμβολοσειρά με μέγιστο μήκος 65535 χαρακτήρες. |
| Blob | Μια συμβολοσειρά με μέγιστο μήκος 65535 χαρακτήρες. |
| ΜΕΣΑΙΟ ΚΕΙΜΕΝΟ | Μια συμβολοσειρά με μέγιστο μήκος 16777215 χαρακτήρες. |
| ΜΕΣΑΙΑ ΣΦΑΛΚΙΑ | Μια συμβολοσειρά με μέγιστο μήκος 16777215 χαρακτήρες. |
| ΜΑΚΡΥΚΕΙΜΕΝΟ | Μια συμβολοσειρά με μέγιστο μήκος 4294967295 χαρακτήρες. |
| LONGBLOB | Μια συμβολοσειρά με μέγιστο μήκος 4294967295 χαρακτήρες. |
Τύποι δεδομένων ημερομηνίας και ώρας
Οι τύποι δεδομένων ημερομηνίας και ώρας αποθηκεύουν τιμές ημερολογίου και ρολογιού σε σταθερή μορφή, η οποία διατηρεί την ταξινόμηση και τη σύγκριση αξιόπιστη.
| ΗΜΕΡΟΜΗΝΙΑ | ΕΕΕΕ-ΜΜ-ΔΔ |
| ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ | ΕΕΕΕ-ΜΜ-ΗΗ ΥΗ: ΜΜ: SS |
| ΧΡΟΝΟΣΗΜΑ | YYYYMMDDHHMMSS |
| TIME | ΩΩ: ΜΜ: SS |
Άλλοι τύποι δεδομένων
Εκτός από τα παραπάνω, υπάρχουν και άλλοι τύποι δεδομένων MySQL.
| ΑΡΙΘΜΟΣ | Για να αποθηκεύσετε μια τιμή κειμένου που έχετε επιλέξει από μια λίστα προκαθορισμένων τιμών κειμένου |
| ΣΕΤ | Χρησιμοποιείται επίσης για την αποθήκευση τιμών κειμένου που επιλέγονται από μια λίστα προκαθορισμένων τιμών κειμένου. Μπορεί να έχει πολλαπλές τιμές. |
| BOOL | Συνώνυμο του TINYINT(1), που χρησιμοποιείται για την αποθήκευση τιμών Boolean |
| ΔΥΑΔΙΚΟΣ | Παρόμοια με το CHAR, η διαφορά είναι ότι τα κείμενα αποθηκεύονται σε δυαδική μορφή. |
| ΒΑΡΒΙΝΑΡΙΑ | Παρόμοια με το VARCHAR, η διαφορά είναι ότι τα κείμενα αποθηκεύονται σε δυαδική μορφή. |
Ας δούμε τώρα ένα ερώτημα για τη δημιουργία ενός πίνακα που χρησιμοποιεί όλους τους τύπους δεδομένων. Μελετήστε το και προσδιορίστε πώς ορίζεται κάθε τύπος δεδομένων στον παρακάτω πίνακα δημιουργίας. MySQL παράδειγμα.
CREATE TABLE `all_data_types` ( `varchar` VARCHAR( 20 ) , `tinyint` TINYINT , `text` TEXT , `date` DATE , `smallint` SMALLINT , `mediumint` MEDIUMINT , `int` INT , `bigint` BIGINT , `float` FLOAT( 10, 2 ) , `double` DOUBLE , `decimal` DECIMAL( 10, 2 ) , `datetime` DATETIME , `timestamp` TIMESTAMP , `time` TIME , `year` YEAR , `char` CHAR( 10 ) , `tinyblob` TINYBLOB , `tinytext` TINYTEXT , `blob` BLOB , `mediumblob` MEDIUMBLOB , `mediumtext` MEDIUMTEXT , `longblob` LONGBLOB , `longtext` LONGTEXT , `enum` ENUM( '1', '2', '3' ) , `set` SET( '1', '2', '3' ) , `bool` BOOL , `binary` BINARY( 20 ) , `varbinary` VARBINARY( 20 ) ) ENGINE = MYISAM;
καλυτερα Πρακτικές Δημιουργίας α MySQL βάση δεδομένων
Μερικές συμβάσεις διατηρούν τα σενάρια σας ευανάγνωστα:
- Χρησιμοποιήστε κεφαλαία γράμματα για λέξεις-κλειδιά SQL, π.χ. “DROP SCHEMA IF EXISTS `MyFlixDB`”
- Τερματίστε όλες τις εντολές SQL χρησιμοποιώντας ερωτηματικά.
- Αποφύγετε τη χρήση κενών σε ονόματα σχημάτων, πινάκων και πεδίων. Χρησιμοποιήστε υπογράμμιση για να διαχωρίσετε ονόματα σχημάτων, πινάκων ή πεδίων.
- Προτιμήστε το InnoDB έναντι του MyISAM για νέους πίνακες, επειδή το InnoDB υποστηρίζει συναλλαγές, κλείδωμα σε επίπεδο γραμμών και ξένα κλειδιά.
Η μέθοδος ερωτήματος ολοκληρώθηκε. Η δεύτερη διαδρομή φτάνει στην ίδια βάση δεδομένων από ένα οπτικό μοντέλο αντί για χειρόγραφη SQL.
Πώς να δημιουργήσετε MySQL Διάγραμμα ER πάγκου εργασίας Forward Engineering
MySQL Πάγκος εργασίας έχει βοηθητικά προγράμματα που υποστηρίζουν τη μελλοντική μηχανική. Μπροστινή μηχανική είναι ο τεχνικός όρος που περιγράφει τη διαδικασία αυτόματη μετάφραση ενός λογικού μοντέλου σε μια φυσική υλοποίηση.
Δημιοργήσαμε ένα Διάγραμμα ER στο δικό μας Μοντελοποίηση ER μάθημα. Τώρα θα χρησιμοποιήσουμε αυτό το μοντέλο ER για να δημιουργήσουμε τα σενάρια SQL που θα δημιουργήσουν τη βάση δεδομένων μας.
Δημιουργία της βάσης δεδομένων MyFlix από το μοντέλο MyFlix ER
Βήμα 1) Ανοίξτε το μοντέλο ER της βάσης δεδομένων MyFlix που δημιουργήσατε νωρίτερα.
Βήμα 2) Επιλέξτε μπροστινός μηχανικός
Κάντε κλικ στο μενού Βάση δεδομένων και επιλέξτε Προωθητικός μηχανικός.
Βήμα 3) Επιλογές σύνδεσης
Το επόμενο παράθυρο σάς επιτρέπει να συνδεθείτε σε μια παρουσία του MySQL διακομιστή. Κάντε κλικ στην αναπτυσσόμενη λίστα αποθηκευμένων συνδέσεων και επιλέξτε τοπικό κεντρικό υπολογιστή. Κάντε κλικ στην επιλογή Εκτέλεση.
Βήμα 4) Επιλέξτε τις επιλογές που εμφανίζονται παρακάτω
Επιλέξτε τις επιλογές που εμφανίζονται παρακάτω στον οδηγό που εμφανίζεται. Κάντε κλικ στο κουμπί Επόμενο.
Βήμα 5) Διατηρήστε τις επιλογές ως προεπιλογές και κάντε κλικ στο κουμπί Επόμενο
Η επόμενη οθόνη δείχνει τη σύνοψη των αντικειμένων στο διάγραμμα EER μας. Η βάση δεδομένων MyFlix μας έχει 5 πίνακες. Διατηρήστε τις επιλογές ως προεπιλογές και κάντε κλικ στο κουμπί Επόμενο.
Βήμα 6) Revδείτε το σενάριο SQL
Το παρακάτω παράθυρο εμφανίζει μια προεπισκόπηση του σεναρίου SQL που δημιουργεί τη βάση δεδομένων μας. Αποθηκεύστε το σενάριο σε ένα αρχείο *.sql ή αντιγράψτε το στο πρόχειρο και, στη συνέχεια, κάντε κλικ στο κουμπί Επόμενο.
Βήμα 7) Πρόοδος δέσμευσης
Το παρακάτω παράθυρο εμφανίζεται μόλις δημιουργηθεί η βάση δεδομένων στην επιλεγμένη MySQL στιγμιότυπο διακομιστή. Οι πίνακες από το μοντέλο ER υπάρχουν πλέον φυσικά στον διακομιστή.
Η βάση δεδομένων μαζί με τα εικονικά δεδομένα επισυνάπτεται. Θα χρησιμοποιήσουμε αυτήν τη βάση δεδομένων στα μαθήματα που ακολουθούν. Απλώς εισαγάγετέ την στο MySQL Πάγκος εργασίας για να ξεκινήσετε.
Κάντε κλικ εδώ για λήψη του MyFlixDB







.png)