Πώς να δημιουργήσετε βάση δεδομένων σε MySQL (Δημιουργώ MySQL πίνακες)

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

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

1) Εκτελώντας ένα απλό ερώτημα SQL

2) Χρησιμοποιώντας την προοπτική μηχανική στο MySQL Πάγκος εργασίας

As Αρχάριος SQL, ας δούμε πρώτα τη μέθοδο ερωτήματος.

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

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

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

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

CREATE DATABASE movies;

Σημείωση: μπορείτε επίσης να χρησιμοποιήσετε την εντολή CREATE SCHEMA αντί για CREATE DATABASE

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

ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ

Ενα μονό MySQL ο διακομιστής θα μπορούσε να έχει πολλές βάσεις δεδομένων. Εάν δεν είστε ο μόνος που έχει πρόσβαση στο ίδιο MySQL διακομιστή ή εάν έχετε να αντιμετωπίσετε πολλές βάσεις δεδομένων, υπάρχει πιθανότητα να προσπαθήσετε να δημιουργήσετε μια νέα βάση δεδομένων με το όνομα μιας υπάρχουσας βάσης δεδομένων. ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ να σε διδάξεις MySQL διακομιστή για να ελέγξετε την ύπαρξη μιας βάσης δεδομένων με παρόμοιο όνομα πριν από τη δημιουργία βάσης δεδομένων.

Όταν ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ χρησιμοποιείται η βάση δεδομένων δημιουργείται μόνο εάν το όνομα δεν έρχεται σε αντίθεση με το όνομα μιας υπάρχουσας βάσης δεδομένων. Χωρίς τη χρήση του ΑΝ ΔΕΝ ΥΠΑΡΧΕΙ MySQL κάνει λάθος.

CREATE DATABASE IF NOT EXISTS movies;

Συλλογή και σύνολο χαρακτήρων

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

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

Για παράδειγμα, το σύνολο χαρακτήρων Latin1 χρησιμοποιεί το latin1_swedish_ci αντιπαραβολή που είναι η σουηδική σειρά χωρίς διάκριση πεζών-κεφαλαίων.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

Η καλύτερη πρακτική κατά τη χρήση τοπικών γλωσσών όπως τα αραβικά, τα κινέζικα κ.λπ. είναι να επιλέξετε ένα σύνολο χαρακτήρων Unicode (utf-8) που έχει πολλές συλλογές ή απλώς να επιμείνετε στην προεπιλεγμένη ταξινόμηση utf8-general-ci.

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

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

SHOW DATABASES

Πώς να δημιουργήσετε πίνακα σε MySQL

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

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

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

CREATE  TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

ΕΔΩ

  • «ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ» είναι αυτός που είναι υπεύθυνος για τη δημιουργία του πίνακα στη βάση δεδομένων.
  • Το "[IF NOT EXISTS]" είναι προαιρετικό και δημιουργείτε τον πίνακα μόνο εάν δεν βρεθεί αντίστοιχο όνομα πίνακα.
  • ""Όνομα πεδίου" είναι το όνομα του πεδίου και ο "Τύπος δεδομένων" καθορίζει τη φύση των δεδομένων που θα αποθηκευτούν στο πεδίο.
  • "[προαιρετικές παράμετροι]" πρόσθετες πληροφορίες σχετικά με ένα πεδίο όπως "AUTO_INCREMENT" , NOT NULL κ.λπ.

MySQL Δημιουργία παραδείγματος πίνακα

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

CREATE  TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT  AUTOINCREMENT ,
  `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οι τύποι δεδομένων του είναι. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε από αυτά ανάλογα με τις ανάγκες σας. Θα πρέπει πάντα να προσπαθείτε να μην υποτιμάτε ή να υπερεκτιμάτε το πιθανό εύρος δεδομένων κατά τη δημιουργία μιας βάσης δεδομένων.

ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

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

MySQL έχει 3 κύριες κατηγορίες τύπων δεδομένων και συγκεκριμένα

  1. Αριθμητικός,
  2. Κείμενο
  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 Ένας μικρός κατά προσέγγιση αριθμός με κινητή υποδιαστολή.
ΔΙΠΛΟ( , ) Ένας μεγάλος αριθμός με κινητή υποδιαστολή.
ΔΕΚΑΔΙΚΟ( , ) Ένα ΔΙΠΛΟ αποθηκεύεται ως συμβολοσειρά, επιτρέποντας μια σταθερή υποδιαστολή. Επιλογή για την αποθήκευση των νομισμάτων.

Τύποι δεδομένων κειμένου

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

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 ;

καλυτερα πρακτικες

  • Χρησιμοποιήστε κεφαλαία γράμματα για λέξεις-κλειδιά SQL, π.χ. "ΑΠΟΣΤΟΛΗ ΣΧΗΜΑΤΟΣ ΑΝ ΥΠΑΡΧΕΙ "MyFlixDB";"
  • Τερματίστε όλες τις εντολές SQL χρησιμοποιώντας άνω και κάτω τελείες.
  • Αποφύγετε τη χρήση διαστημάτων σε σχήματα, πίνακες και ονόματα πεδίων. Χρησιμοποιήστε αντίθετα υπογράμμιση για να διαχωρίσετε τα ονόματα σχημάτων, πινάκων ή πεδίων.

Πώς να δημιουργήσετε MySQL πάγκος εργασίας ER διάγραμμα μπροστινή μηχανική

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

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

Δημιουργία της βάσης δεδομένων MyFlix από το μοντέλο MyFlix ER

Βήμα 1) Ανοίξτε το μοντέλο ER της βάσης δεδομένων MyFlix

Ανοίξτε το μοντέλο ER της βάσης δεδομένων MyFlix που δημιουργήσατε σε προηγούμενο σεμινάριο.

Βήμα 2) Επιλέξτε μπροστινός μηχανικός

Κάντε κλικ στο μενού της βάσης δεδομένων. Επιλέξτε μπροστινός μηχανικός

Δημιουργία MySQL διάγραμμα ER πάγκου εργασίας

Βήμα 3) Επιλογές σύνδεσης

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

Δημιουργία MySQL διάγραμμα ER πάγκου εργασίας

Βήμα 4) Επιλέξτε τις επιλογές που εμφανίζονται παρακάτω

Επιλέξτε τις επιλογές που εμφανίζονται παρακάτω στον οδηγό που εμφανίζεται. Κάντε κλικ στο επόμενο

Δημιουργία MySQL διάγραμμα ER πάγκου εργασίας

Βήμα 5) Διατηρήστε τις επιλογές ως προεπιλογή και κάντε κλικ στο Επόμενο

Η επόμενη οθόνη δείχνει τη σύνοψη των αντικειμένων στο διάγραμμα EER μας. Το MyFlix DB έχει 5 πίνακες. Διατηρήστε τις επιλογές ως προεπιλογή και κάντε κλικ στο Επόμενο.

Δημιουργία MySQL διάγραμμα ER πάγκου εργασίας

Βήμα 6) Revδείτε το σενάριο SQL

Εμφανίζεται το παράθυρο που φαίνεται παρακάτω. Αυτό το παράθυρο σάς επιτρέπει να κάνετε προεπισκόπηση του Σενάριο SQL να δημιουργήσουμε τη βάση δεδομένων μας. Μπορούμε να αποθηκεύσουμε τα σενάρια σε ένα αρχείο *.sql” ή να αντιγράψουμε τα σενάρια στο πρόχειρο. Κάντε κλικ στο κουμπί επόμενο

Δημιουργία MySQL διάγραμμα ER πάγκου εργασίας

Βήμα 7) Δεσμεύστε την πρόοδο

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

Δημιουργία MySQL διάγραμμα ER πάγκου εργασίας

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

Επισυνάπτεται η βάση δεδομένων μαζί με τα Dummy Data. Θα χρησιμοποιήσουμε αυτό το DB για όλα τα περαιτέρω σεμινάρια μας. Απλή εισαγωγή του DB MySQL Πάγκος εργασίας για να ξεκινήσετε

Κάντε κλικ εδώ για λήψη του MyFlixDB