mysql create table tutorial with examples
Σε αυτό το σεμινάριο, θα διερευνήσουμε τη χρήση της εντολής MySQL CREATE TABLE με παραδείγματα σύνταξης και προγραμματισμού:
Η δήλωση CREATE TABLE είναι μέρος του DDL (Data Definition Language) του SQL.
Θα συζητήσουμε τους τρόπους με τους οποίους μπορείτε να δημιουργήσετε έναν πίνακα σε μια δεδομένη βάση δεδομένων, να αναφέρετε ονόματα στηλών και μηχανή DB κατά τη δημιουργία του πίνακα, μαζί με τους κανόνες σχετικά με τις συμβάσεις ονομασίας για πίνακες SQL.
Τι θα μάθετε:
- Προ προϋποθέσεις
- Εντολή MySQL CREATE TABLE
- συμπέρασμα
Προ προϋποθέσεις
Η προϋπόθεση για την εκτέλεση οποιασδήποτε από τις εντολές SQL θα ήταν η λήψη του διακομιστή MySQL. Μπορείτε να κατεβάσετε την δωρεάν έκδοση κοινότητας εδώ.
Θα χρησιμοποιήσουμε επίσης το MySQL Workbench SQL Client για όλα τα παραδείγματα και τις συζητήσεις σε αυτό το σεμινάριο. Μπορείτε να κατεβάσετε την δωρεάν κοινοτική έκδοση του MySQL Workbench εδώ (μπορείτε να επιλέξετε την έκδοση ανάλογα με το λειτουργικό σύστημα στο οποίο εργάζεστε).
Σε περίπτωση που δεν θέλετε να χρησιμοποιήσετε το MySQL Workbench - μπορείτε επίσης να χρησιμοποιήσετε το πρόγραμμα-πελάτη γραμμής εντολών MySQL που συνοδεύεται από την προεπιλεγμένη εγκατάσταση του διακομιστή MySQL.
Εντολή MySQL CREATE TABLE
Η εντολή CREATE TABLE είναι μέρος του συνόλου εντολών DDL (Data Definition Language) στη MySQL και επιτρέπει στον χρήστη να δημιουργήσει έναν νέο πίνακα για τη δεδομένη βάση δεδομένων.
Σημείωση: Η εντολή CREATE TABLE υπάρχει για σχεδόν όλες τις σχετικές βάσεις δεδομένων - όπως MySQL, Postgres, SQL Server κ.λπ.
Σύνταξη MySQL CREATE TABLE
Στην απλούστερη φόρμα, μπορείτε να χρησιμοποιήσετε την εντολή CREATE TABLE μόνο με τις βασικές επιλογές, δηλαδή το όνομα του πίνακα και τους ορισμούς της στήλης.
CREATE TABLE (IF NOT EXISTS) tableName ( column1 datatype, column2 datatype, .... );
Ας κατανοήσουμε λεπτομερώς τα συντακτικά επιχειρήματα:
- Όνομα πίνακα: Αυτό πρέπει να είναι το όνομα του πίνακα που προσπαθείτε να δημιουργήσετε. Θα πρέπει να είναι πλήρως αναγνωρισμένο όνομα (σε περίπτωση που δεν έχετε προεπιλεγμένο σύνολο βάσεων δεδομένων). Για παράδειγμα, databaseName.tableName
Το όνομα του πίνακα μπορεί να καθοριστεί χωρίς εισαγωγικά ή με σύμβολο backtick όπως «tableName» και «databaseName». «TableName » - Ορισμός στήλης: Ένας πίνακας σε SQL πρέπει να αποτελείται από τουλάχιστον μία στήλη. Όλοι οι ορισμοί στηλών πρέπει να αποτελούνται από το όνομα_στηλών και τον τύπο δεδομένων της στήλης. Μπορείτε επίσης να συμπεριλάβετε προαιρετικά τις άλλες ιδιότητες στήλης, όπως πρωτεύον κλειδί, μηδενικό, όχι μηδέν κ.λπ.
Ας δούμε ένα παράδειγμα χρήσης της παραπάνω σύνταξης για τη δημιουργία πίνακα.
Θα δημιουργήσουμε έναν πίνακα με το όνομα EMPLOYEE_DETAILS (στη βάση δεδομένων - SAMPLE_DB) με στήλες
- όνομα: βαρτσάρ (100)
- ηλικία: int
- διεύθυνση: βαρτσάρ (100)
CREATE TABLE SAMPLE_DB.employee_details ( name varchar(100), age int, address varchar(100) );
Δεδομένου παρακάτω θα είναι το αποτέλεσμα της δημιουργίας πίνακα:
Σημείωση:
# 1) Παρατηρήστε τη χρήση του (ΕΑΝ ΔΕΝ ΥΠΑΡΧΕΙ) την προαιρετική εντολή στην παραπάνω σύνταξη.
Συνιστάται γενικά να χρησιμοποιείτε αυτήν την εντολή, καθώς δεν θα δημιουργηθεί σφάλμα εάν ο πίνακας που προσπαθούμε να δημιουργήσουμε υπάρχει ήδη στη βάση δεδομένων.
Ακολουθεί ένα παράδειγμα χρήσης με και χωρίς ΕΑΝ ΔΕΝ ΥΠΑΡΧΕΙ.
- Χωρίς ΕΑΝ ΔΕΝ ΥΠΑΡΧΕΙ θα δημιουργούσε σφάλμα εάν ο πίνακας υπάρχει ήδη.
- Με το IF NOT EXISTS δεν θα δημιουργηθεί σφάλμα. Ωστόσο, θα δείξει μια προειδοποίηση ότι ο πίνακας υπάρχει ήδη.
# 2) Το «tableName» κατά τη χρήση της εντολής CREATE TABLE θα πρέπει να είναι πλήρως αναγνωρισμένο με το όνομα της βάσης δεδομένων, δηλαδή ο τρόπος που το χρησιμοποιούμε είναι SAMPLE_DB.employee_details
Οι άλλοι τρόποι προσδιορισμού του ονόματος πίνακα είναι η δημιουργία της τρέχουσας βάσης δεδομένων χρησιμοποιώντας την εντολή 'USE'. Π.χ. ΧΡΗΣΗ SAMPLE_DB; και στη συνέχεια τρέχοντας / χρησιμοποιώντας μόνο το όνομα του πίνακα αντί για το πλήρως αναγνωρισμένο όνομα πίνακα.
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑΣ Με Επιλογές Πίνακα
Οι επιλογές πίνακα χρησιμοποιούνται για τη βελτιστοποίηση της συμπεριφοράς των πινάκων MySQL. Αυτά μπορούν να εφαρμοστούν κατά τη δημιουργία ενός πίνακα χρησιμοποιώντας την εντολή MySQL CREATE TABLE (ή αργότερα μέσω της εντολής ALTER TABLE).
Η σύνταξη παραμένει η ίδια με πρόσθετες επιλογές πίνακα που μπορούν να καθοριστούν.
CREATE TABLE (IF NOT EXISTS) tableName ( column1 datatype, column2 datatype, .... ) (table “” not found /)
;
Θα συζητήσουμε τις πιο ευρέως χρησιμοποιούμενες επιλογές παρακάτω (Μπορείτε να βρείτε μια πλήρη λίστα επιλογών πίνακα εδώ ).
# 1) ΚΙΝΗΤΗΡΑ
Χρησιμοποιείται για τον καθορισμό της μηχανής αποθήκευσης για τον πίνακα, δηλ. Η προεπιλεγμένη τιμή είναι το InnoDB. Αυτό δεν απαιτείται να αλλάξει εκτός εάν υπάρχουν ανάγκες συγκεκριμένης μηχανής αποθήκευσης. Οι άλλες έγκυρες τιμές για τους κινητήρες αποθήκευσης είναι MEMORY, CSV, HEAP κ.λπ.
Η σύνταξη για τον καθορισμό του ENGINE ως μέρος του MySQL CREATE TABLE δίνεται παρακάτω.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), age int, address varchar(100) )ENGINE='MEMORY';
# 2) AUTO_INCREMENT
Αυτή η επιλογή χρησιμοποιείται για τον ορισμό της αρχικής τιμής AUTO_INCREMENT του πίνακα, δηλ. Η προεπιλεγμένη τιμή είναι 1, αλλά μπορείτε να παρακάμψετε οποιαδήποτε άλλη θετική ακέραια τιμή.
Σημείωση: Το AUTO_INCREMENT μπορεί να καθοριστεί για μία μόνο στήλη στον πίνακα και θα πρέπει να είναι το κύριο κλειδί. Ας δούμε ένα παράδειγμα καθορισμού της αυτόματης αύξησης ως 10 και εισαγωγής μιας εγγραφής για επικύρωση εάν η αυτόματη αύξηση έχει ρυθμιστεί σωστά.
Χρησιμοποιούμε τον ίδιο πίνακα Employ_details (φροντίστε να αποθέσετε τον υπάρχοντα πίνακα πριν εκτελέσετε αυτήν την εντολή) με ένα πρόσθετο πεδίο αναγνωριστικού που επισημαίνεται ως το πρωτεύον κλειδί.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details( id int not null AUTO_INCREMENT primary key, name varchar(100), age int, address varchar(100) )AUTO_INCREMENT=10;
Ας εισαγάγουμε μια σειρά χωρίς καμία τιμή για το αναγνωριστικό και βεβαιωθείτε ότι οι τιμές εισάγονται από την τιμή από το 10.
INSERT INTO SAMPLE_DB.employee_details(name,age,address) values ('aman kumar',20,'mumbai'); select * from SAMPLE_DB.employee_details;
# 3) ΣΥΝΟΨΗ
Αυτό θα πρέπει να οριστεί σε 1 εάν θέλετε να έχετε ένα άθροισμα ελέγχου για ολόκληρο τον πίνακα. Χρησιμοποιείται γενικά για να διασφαλιστεί ότι δεν υπάρχουν κατεστραμμένοι πίνακες.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), age int, address varchar(100) )CHECKSUM=1;
Το CHECKSUM διατηρεί ένα ζωντανό άθροισμα ελέγχου ολόκληρου του πίνακα κατά τη διάρκεια τυχόν εισαγωγών ή ενημερώσεων
ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ με λεπτομέρειες διαμέρισης
Μπορούμε επίσης να αναφέρουμε την κατάτμηση που καθορίζεται από τον χρήστη, εάν απαιτείται, χρησιμοποιώντας τις επιλογές διαμέρισης.
Η κατανομή ως έννοια χρησιμοποιείται ευρέως για τη διανομή του περιεχομένου των πινάκων σε ολόκληρο το σύστημα αρχείων, προκειμένου να εξασφαλιστούν ταχύτεροι χρόνοι πρόσβασης και βελτιστοποιημένα ερωτήματα. Η κατάτμηση χωρίζει έναν μεγάλο πίνακα σε μικρότερους πίνακες ανάλογα με τις στρατηγικές ή τα καθορισμένα πλήκτρα διαμέρισης.
Ας δούμε πώς μπορούμε να καθορίσουμε τις λεπτομέρειες διαμέρισης με την εντολή MySQL CREATE TABLE.
Θα χρησιμοποιήσουμε το δείγμα πίνακα ملازم_details και θα προσθέσουμε μια νέα ακέραια στήλη με το όνομα department_id που θα χρησιμοποιηθεί ως κλειδί κατακερματισμού για να υπάρχει ομοιόμορφη κατανομή δεδομένων.
Επίσης, ο καθορισμός του αριθμού των κατατμήσεων θα έδειχνε πόσα πραγματικά διαμερίσματα θα δημιουργούνταν (σε αυτήν την περίπτωση 4). Εάν δεν προσδιορίζεται, τότε από προεπιλογή θα υπάρχει μόνο 1 διαμέρισμα.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), age int, address varchar(100), department_id int )PARTITION BY HASH (department_id) PARTITIONS 4;
Σημείωση: Γενικά, το κλειδί που θα χρησιμοποιηθεί για τη δημιουργία διαμερισμάτων θα εξαρτάται από τα αναμενόμενα μοτίβα πρόσβασης που θα χρησιμοποιούνται για τον πίνακα. Σε αυτήν την περίπτωση, ας υποθέσουμε ότι θα ρωτούσαμε τον πίνακα με βάση το αναγνωριστικό τμήματος τις περισσότερες φορές, και τότε είναι λογικό να έχουμε το department_id ως μέρος του κλειδιού κατακερματισμού.
Κλωνοποίηση & αντιγραφή πίνακα MySQL
Κατά καιρούς, μπορεί να θέλετε να δημιουργήσετε έναν κλώνο ενός υπάρχοντος πίνακα ή να αντιγράψετε τα περιεχόμενα από έναν πίνακα σε έναν άλλο πίνακα. Η MySQL υποστηρίζει 2 τρόπους για να το επιτύχετε, όπως φαίνεται παρακάτω.
- Χρησιμοποιώντας την εντολή LIKE
- Χρήση της εντολής SELECT
Επιτραπέζια κλωνοποίηση με χρήση LIKE COMMAND
Με την εντολή LIKE, μπορείτε να δημιουργήσετε έναν νέο πίνακα με ακριβώς τα ίδια ονόματα και ιδιότητες στηλών με τους υπάρχοντες πίνακες.
Εδώ είναι η σύνταξη χρησιμοποιώντας την εντολή LIKE.
επιχειρηματικά αντικείμενα συνεντεύξεις ερωτήσεις και απαντήσεις
CREATE TABLE tableName1 LIKE tableName2
Με την παραπάνω εντολή, θα δημιουργηθεί ένας νέος πίνακας, δηλ. TableName1 με την ίδια δομή και ιδιότητες του tableName2.
Λάβετε υπόψη ότι με αυτήν την προσέγγιση - μόνο τα ονόματα και οι ιδιότητες της στήλης κλωνοποιούνται και όχι τα πραγματικά δεδομένα πίνακα.
Ας προσπαθήσουμε να δημιουργήσουμε έναν πίνακα με το όνομα karyawan_details και χρησιμοποιήστε αυτόν τον πίνακα για να δημιουργήσετε έναν νέο πίνακα με το όνομα student_details χρησιμοποιώντας την επιλογή LIKE.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), age int, address varchar(100), department_id int ); CREATE TABLE SAMPLE_DB.student_details LIKE SAMPLE_DB.employee_details;
Δίνεται παρακάτω η έξοδος της παραπάνω εντολής.
πώς να παίξετε αρχεία swf στα Windows 7
Κλωνοποίηση πίνακα χρησιμοποιώντας SELECT COMMAND
Αυτή η προσέγγιση χρησιμοποιεί την εντολή SELECT για να δημιουργήσει ένα αντίγραφο του υπάρχοντος πίνακα σε έναν νέο πίνακα.
Με αυτήν την προσέγγιση, τα δεδομένα από τον πίνακα αντιγράφονται επίσης στον νέο πίνακα.
CREATE TABLE tableName1 AS SELECT * FROM tableName2;
Ας προσπαθήσουμε να δημιουργήσουμε έναν πίνακα με την ονομασία staff_details και χρησιμοποιήστε αυτόν τον πίνακα για να δημιουργήσετε έναν νέο πίνακα με την ονομασία student_details χρησιμοποιώντας την επιλογή SELECT.
CREATE TABLE SAMPLE_DB.student_details AS SELECT * FROM SAMPLE_DB.employee_details;
Συμβάσεις ονομάτων πινάκων MySQL
Στις προηγούμενες ενότητες, μάθαμε για τη δημιουργία πινάκων MySQL. Τώρα ας δούμε μερικούς κανόνες που πρέπει να ληφθούν υπόψη κατά την ονομασία των πινάκων μαζί με τους περιορισμούς που ισχύουν για τη MySQL.
Αυτές οι συμβάσεις / κανόνες ισχύουν τόσο για τους πίνακες SQL όσο και για τις βάσεις δεδομένων.
# 1) Νομικοί χαρακτήρες στα ονόματα
προς την) Τα μη εισαγωγικά ονόματα μπορούν να αποτελούνται από οποιονδήποτε χαρακτήρα στο προεπιλεγμένο σύνολο χαρακτήρων του SQL Server με την εξαίρεση ότι δεν μπορούν όλοι οι χαρακτήρες να είναι ψηφία. Για παράδειγμα, Το '23test' είναι ένα έγκυρο όνομα πίνακα, αλλά όχι το '2345'.
Παρακάτω δίνεται η λίστα των χαρακτήρων που θα μπορούσαν να χρησιμοποιηθούν για μη εισαγωγικά ονόματα:
ASCII: (0-9, a-z, A-Z $ _) (βασικά λατινικά γράμματα, ψηφία 0-9, δολάριο, υπογράμμιση)
Επέκταση: U + 0080 .. U + FFFF
Μάθετε περισσότερα σχετικά με τους κωδικούς ASCII εδώ
σι) Τα ονόματα πινάκων και βάσεων δεδομένων μπορούν να αναφέρονται με χαρακτήρα backtick (`) και μπορούν να περιέχουν οποιοδήποτε γράμμα / χαρακτήρα εκτός από τον ίδιο τον χαρακτήρα backtick. Με τα αναφερόμενα ονόματα μπορείτε ακόμη και να έχετε ονόματα πίνακα / βάσης δεδομένων με όλα τα ψηφία.
Λάβετε υπόψη ότι για τέτοιους πίνακες θα χρειαστεί να χρησιμοποιήσετε τα backticks γύρω από τον πίνακα ή / και το όνομα της βάσης δεδομένων για πρόσβαση σε δεδομένα μέσα σε αυτούς τους πίνακες.
ντο) Τα ονόματα πινάκων και βάσεων δεδομένων δεν μπορούν να περιέχουν τελεία '.' Όπως χρησιμοποιείται ως βάση δεδομένων και διαχωριστής πινάκων.
ρε) Τα ονόματα βάσεων δεδομένων και πινάκων μπορούν να περιέχουν - '$' και '_' ειδικούς χαρακτήρες.
# 2) Μήκος ονόματος
Το μέγιστο επιτρεπόμενο μήκος για ένα όνομα βάσης δεδομένων ή πίνακα στη MySQL είναι 64 χαρακτήρες.
# 3) Όνομα προκριματικών
Όπως συζητήθηκε στις προηγούμενες ενότητες, στη MySQL ένας πίνακας βρίσκεται πάντα σε συνάρτηση με τη βάση δεδομένων της οποίας αποτελεί μέρος. Ως εκ τούτου, για να αποκτήσετε πρόσβαση σε έναν πίνακα, μπορείτε να χρησιμοποιήσετε ένα πλήρως αναγνωρισμένο όνομα πίνακα - το οποίο δεν είναι παρά ο συνδυασμός του ονόματος βάσης δεδομένων που διαχωρίζεται με μια τελεία και στη συνέχεια το όνομα της στήλης.
Για παράδειγμα, για να επιλέξετε όλα τα στοιχεία από τον πίνακα «EMPLOYEE_DETAILS» από τη βάση δεδομένων SAMPLE_DB, μπορείτε να χρησιμοποιήσετε ένα πλήρως αναγνωρισμένο όνομα όπως παρακάτω.
SELECT * from SAMPLE_DB.EMPLOYEE_DETAILS;
Τα ονόματα DB και πίνακα μπορούν επίσης να προσδιοριστούν ως παρατίθενται με backticks ξεχωριστά όπως φαίνεται παρακάτω.
SELECT * from `SAMPLE_DB`.`EMPLOYEE_DETAILS`;
Οι προτεινόμενες από τη βιομηχανία συμβάσεις και βέλτιστες πρακτικές γύρω από τους πίνακες ονομάτων και τις βάσεις δεδομένων δίνονται παρακάτω.
- Ονομάστε πίνακες και βάσεις δεδομένων με πεζά - Αυτό επιταχύνει γενικά την πληκτρολόγηση και την υποβολή ερωτημάτων στο DB ειδικά για όσους εμπλέκονται στην καθημερινή αναζήτηση DB.
- Χρησιμοποιήστε τα σύμβολα υπογράμμισης (‘_’) αντί για κενά σε ονόματα πινάκων και db - Αυτό κάνει τα ονόματα πιο ευανάγνωστα.
- Χρησιμοποιήστε αυτονόητα ονόματα για τους πίνακες και τις βάσεις δεδομένων - Για παράδειγμα, ένας πίνακας που περιέχει λεπτομέρειες για τον υπάλληλο μπορεί να ονομαστεί με διαφορετικούς τρόπους, όπως ο υπάλληλος_πληροφορίες, τα στοιχεία_ υπαλλήλου, ο υπάλληλος, τα στοιχεία_επαλλήλου, η επωνυμία_και η διεύθυνση. Θα ήταν λογικό να επιλέξετε ένα όνομα που είναι το πιο αυτονόητο. Για παράδειγμα, μπορούμε να επιλέξουμε το όνομα του πίνακα για να είναι υπάλληλοι_στοιχεία ή υπάλληλος_πληροφοριών. Αν και αυτή είναι μια υποκειμενική συζήτηση, θα πρέπει να συμφωνηθεί από πολλά μέλη της ομάδας που πρόκειται να χρησιμοποιήσουν και να δημιουργήσουν αυτές τις οντότητες.
- Αποφύγετε τη χρήση αριθμών στη βάση δεδομένων και τα ονόματα πινάκων - Όπως το sample_db_2, test_table_1 κ.λπ.
Συχνές Ερωτήσεις και Απαντήσεις
Ε # 1) Πώς να δημιουργήσετε έναν πίνακα στη MySQL χρησιμοποιώντας το Ευρετήριο;
Απάντηση: Μπορείτε να προσθέσετε ένα INDEX σε οποιαδήποτε στήλη (ή συνδυασμό στηλών) κατά τη διάρκεια της ίδιας της δημιουργίας πίνακα.
Ας δούμε ένα παράδειγμα προσθήκης ευρετηρίου στη στήλη department_id για τα στοιχεία του πίνακα υπαλλήλων.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), id int, age int, address varchar(100), department_id int, index(department_id) );
Q # 2) Πώς να δημιουργήσετε έναν πίνακα με ημερομηνία στο MySQL;
Απάντηση: Η ημερομηνία είναι ένας τύπος δεδομένων που πρέπει να συσχετιστεί με οποιαδήποτε στήλη κατά τη δημιουργία ενός πίνακα.
Ανατρέξτε στην παρακάτω εντολή ΔΗΜΙΟΥΡΓΙΚΟ ΠΙΝΑΚΑ με τη στήλη Join_date με την ημερομηνία DATETIME ως τύπο δεδομένων για έναν πίνακα δειγμάτων.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), id int primary key, age int, address varchar(100), joining_date datetime, department_id int );
Q # 3) Πώς μπορώ να δω τη δομή του πίνακα στη MySQL;
Απάντηση: Αφού δημιουργήσετε έναν πίνακα, εάν θέλετε να ανατρέξετε στη δομή του πίνακα, όπως στήλες, ευρετήρια κ.λπ., μπορείτε να χρησιμοποιήσετε την εντολή DESCRIBE για να λάβετε τις λεπτομέρειες.
Σύνταξη:
DESCRIBE tableName;
Ας δημιουργήσουμε έναν πίνακα και να δούμε την έξοδο για την εντολή DESCRIBE.
CREATE TABLE IF NOT EXISTS SAMPLE_DB.employee_details ( name varchar(100), id int primary key, age int, address varchar(100), department_id int ); DESCRIBE sample_db.employee_details;
Δίνεται παρακάτω η έξοδος της εντολής DESCRIBE.
Q # 4) Πώς μπορώ να προσθέσω ένα ΞΕΝΟ ΚΛΕΙΔΙ σε έναν πίνακα στη MySQL;
Απάντηση: Το Ξένο κλειδί χρησιμοποιείται για τη σύνδεση 2 πινάκων μαζί στη MySQL. Για να χρησιμοποιήσετε τον περιορισμό ξένου κλειδιού, θα πρέπει να έχετε ήδη δημιουργήσει τον πίνακα στον οποίο αναφέρεστε.
>> Μάθετε περισσότερα για Περιορισμός ξένου κλειδιού MySQL
Ας προσπαθήσουμε να το κατανοήσουμε με ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε 2 πίνακες, δηλ. Τμήμα (το οποίο έχει λεπτομέρειες σχετικά με τα διάφορα τμήματα που διαθέτει το κολέγιο) και Λεπτομέρειες μαθητή (όλες οι λεπτομέρειες που αφορούν τους μαθητές).
Το Τμήμα έχει στήλες - id (πρωτεύον κλειδί) και όνομα.
Λεπτομέρειες μαθητή - id (πρωτεύον κλειδί), ηλικία, διεύθυνση & department_id (ξένο κλειδί που αναφέρεται από τον πίνακα Τμήματος).
Δίνεται παρακάτω η σύνταξη για την εντολή CREATE TABLE και για τους δύο αυτούς πίνακες.
CREATE TABLE department ( name varchar(100), id INT NOT NULL, PRIMARY KEY (id) ); CREATE TABLE student_details ( name varchar(100), id int not null, age int, address varchar(100), department_id int, PRIMARY KEY (id), FOREIGN KEY (department_id) references department(id) ON DELETE CASCADE );
Ανατρέξτε στη σύνταξη της αναφοράς ΕΞΩΤΕΡΙΚΟΥ ΚΛΕΙΔΙ στον πίνακα student_details όπου έχουμε αναφέρει ότι η σχέση μεταξύ των στηλών και του τμήματος_id θα πρέπει να αναφέρεται με αναγνωριστικό στήλης από τον πίνακα τμήματος.
συμπέρασμα
Η εντολή CREATE TABLE στο MySQL που ανήκει σε εντολές της κατηγορίας Γλώσσα Ορισμού Δεδομένων εξηγήθηκε λεπτομερώς εδώ.
Μάθαμε για τις διάφορες επιλογές πίνακα όπως ENGINE, CHECKSUM, κ.λπ. που θα μπορούσαν να αναφερθούν μαζί με την εντολή CREATE TABLE για να ρυθμιστούν πρόσθετες ιδιότητες για τον πίνακα.
Περάσαμε τους τρόπους για να δημιουργήσουμε έναν κλώνο του υπάρχοντος πίνακα στη MySQL. Τέλος, μιλήσαμε για τις συμβάσεις ονοματολογίας για τα ονόματα των πινάκων μαζί με τις βέλτιστες πρακτικές που προτείνουν η βιομηχανία.
Καλή ανάγνωση !!
Συνιστώμενη ανάγνωση
- MySQL Δημιουργία εκπαιδευτικού προγράμματος με παραδείγματα κώδικα
- Τύποι δεδομένων MySQL | Ποιοι είναι οι διαφορετικοί τύποι δεδομένων στο MySQL
- Εισαγωγή MySQL σε πίνακα - Εισαγωγή σύνταξης δήλωσης & παραδειγμάτων
- MySQL JOIN Tutorial: Εσωτερικό, εξωτερικό, σταυρό, αριστερά, δεξιά και μόνος
- Διαφορά μεταξύ SQL Vs MySQL Vs SQL Server (με παραδείγματα)
- Τρόπος χρήσης PL SQL Εισαγωγή, ενημέρωση, διαγραφή και επιλογή δήλωσης
- Οδηγός δημιουργίας βάσης δεδομένων MongoDB
- MongoDB Δημιουργία χρήστη και εκχώρηση ρόλων με παραδείγματα