Ο σχεδιασμός της βάσης δεδομένων MySQL, μεταξύ των οποίων, για τη βελτιστοποίηση της απόδοσης δεδομένων, η εξέταση του τύπου πεδίου είναι πολύ σημαντική, συνέλεξε ορισμένες πληροφορίες, ταξινομήθηκε και κοινοποιήθηκε, αυτό το άρθρο αφορά την εισαγωγή σύνταξης των mysql integer bigint, int, mediumint, smallint και tinyint, ως εξής:
1, Μπιγκίντ
Από -2^63 (-9223372036854775808) έως 2^63-1 (9223372036854775807) ακέραια δεδομένα (όλοι οι αριθμοί), το ανυπόγραφο εύρος είναι 0 έως
18446744073709551615。 Ένα bit είναι 8 byte.
2, Int
Ένας ακέραιος κανονικού μεγέθους. Το προσημασμένο εύρος είναι -2^31 (-2.147.483.648) έως 2^31 - 1 (2.147.483.647) ακέραια δεδομένα (όλοι οι αριθμοί) και το ανυπόγραφο εύρος είναι 0 έως 4294967295. Ένα bit έχει μέγεθος 4 byte. Το συνώνυμο του SQL-92 για το int είναι ακέραιος.
3, μεσαίο int
Ένας ακέραιος μεσαίου μεγέθους με προσημασμένο εύρος από -8388608 έως 8388607 και ανυπόγραφο εύρος από 0 έως 16777215. Ένα bit έχει μέγεθος 3 byte.
4, μικρό
Ένας μικρός ακέραιος αριθμός. Το προσημασμένο εύρος είναι -2^15 (-32.768) έως 2^15 - 1 (32.767) ακέραια δεδομένα και το ανυπόγραφο εύρος είναι 0 έως 65535. Ένα bit έχει μέγεθος 2 byte. Η MySQL προσφέρει περισσότερες από αρκετές δυνατότητες και επειδή η MySQL είναι λογισμικό ανοιχτού κώδικα, μπορεί να μειώσει σημαντικά το συνολικό κόστος ιδιοκτησίας.
5, Μικροσκοπικό
Το προσημασμένο εύρος είναι -128 - 127 και το ανυπόγραφο εύρος είναι ακέραια δεδομένα από 0 έως 255. Ένα bit έχει μέγεθος 1 byte.
Σημειώστε ότι όλες οι αριθμητικές πράξεις γίνονται με προσημασμένες τιμές BIGINT ή DOUBLE, επομένως δεν πρέπει να χρησιμοποιείτε προσημασμένους μεγάλους ακέραιους αριθμούς μεγαλύτερους από 9223372036854775807 (63 bit), εκτός από τις συναρτήσεις bit! Σημειώστε ότι όταν οι δύο παράμετροι είναι ΑΚΕΡΑΙΕΣ τιμές,-、 + και * θα χρησιμοποιήσουν τη λειτουργία BIGINT! Αυτό σημαίνει ότι εάν πολλαπλασιάσετε με 2 μεγάλους ακέραιους αριθμούς (ή από μια συνάρτηση που επιστρέφει έναν ακέραιο), μπορείτε να λάβετε απροσδόκητα αποτελέσματα εάν το αποτέλεσμα είναι μεγαλύτερο από 9223372036854775807. Ένας αριθμός κινητής υποδιαστολής δεν μπορεί να είναι ανυπόγραφος, για έναν αριθμό κινητής υποδιαστολής μονής ακρίβειας, η ακρίβειά του μπορεί να είναι <=24, για έναν αριθμό κινητής υποδιαστολής διπλής ακρίβειας, είναι μεταξύ 25 και 53, αυτοί οι τύποι όπως FLOAT και DOUBLE περιγράφονται παρακάτω. Το FLOAT(X) έχει το ίδιο εύρος με το FLOAT και το DOUBLE, αλλά το μέγεθος της οθόνης και ο αριθμός των δεκαδικών ψηφίων είναι απροσδιόριστα. Στη MySQL 3.23, αυτή είναι μια πραγματική τιμή κινητής υποδιαστολής. Σε προηγούμενες εκδόσεις της MySQL, το FLOAT(precision) είχε πάντα 2 δεκαδικά ψηφία. Αυτή η σύνταξη παρέχεται για συμβατότητα ODBC.
Το εύρος τιμών κάθε τύπου δεδομένων στη MySQL
ΜΙΚΡΟΣΚΟΠΙΚΟ -128 - 127 TINYINT ΑΝΥΠΟΓΡΑΦΟ 0 - 255 ΜΙΚΡΟ -32768 - 32767 SMALLINT ΑΝΥΠΟΓΡΑΦΟ 0 - 65535 ΜΕΣΑΙΑ -8388608 - 8388607 MEDIUMINT ΑΝΥΠΟΓΡΑΦΟ 0 - 16777215 INT ή INTEGER -2147483648 - 2147483647 INT UNSIGNED ή INTEGER UNSIGNED 0 - 4294967295 ΜΠΙΓΚΙΝΤ -9223372036854775808 - 9223372036854775807 BIGINT ΑΝΥΠΟΓΡΑΦΟ 0 - 18446744073709551615 ΦΛΟΤΕΡ -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 ΔΙΠΛΗ ή ΔΙΠΛΗ ΑΚΡΙΒΕΙΑ ή ΠΡΑΓΜΑΤΙΚΗ -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 ΔΕΚΑΔΙΚΟΣ[(Μ,[Δ])] ή ΑΡΙΘΜΗΤΙΚΟΣ(Μ,Δ) Καθορίζεται από το M (το μήκος ολόκληρου του αριθμού, συμπεριλαμβανομένης της υποδιαστολής, τον αριθμό των ψηφίων στα αριστερά της υποδιαστολής, τον αριθμό των ψηφίων στα δεξιά της υποδιαστολής, αλλά όχι το αρνητικό πρόσημο) και το D (τον αριθμό των ψηφίων στα δεξιά της υποδιαστολής), το M έχει από προεπιλογή το 10 και το D από προεπιλογή το 0 ΗΜΕΡΟΜΗΝΙΑ 1000-01-01 - 9999-12-31 ΗΜΕΡΟΜΗΝΙΑ/ΩΡΑ 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ΧΡΟΝΙΚΗ ΣΗΜΑΝΣΗ 1970-01-01 00:00:00 - Μια μέρα το 2037 (δεν ξέρω ακριβώς ποια μέρα, χεχε) ΏΡΑ -838:59:59' έως 838:59:59 ΈΤΟΣ[(2|4)] Η προεπιλεγμένη είναι η μορφή 4-bit, η μορφή 4-bit είναι 1901 - 2155.0000 και η μορφή 2-bit είναι 70-69 (1970-2069) CHAR(M) [ΔΥΑΔΙΚΟ] ή NCHAR(M) [ΔΥΑΔΙΚΟ] Το M κυμαίνεται από 1 έως 255 και εάν δεν υπάρχει BINARY στοιχείο, κάνει διάκριση πεζών-κεφαλαίων και NCHAR σημαίνει χρήση του προεπιλεγμένου συνόλου χαρακτήρων. Συμπληρώστε με κενά στη βάση δεδομένων, αλλά τα κενά στο τέλος θα αφαιρεθούν αυτόματα όταν τα αφαιρέσετε. [ΕΘΝΙΚΌ] VARCHAR(M) [ΔΥΑΔΙΚΌ] Το M κυμαίνεται από 1 έως 255. Τα κενά στο τέλος της βάσης δεδομένων θα αφαιρεθούν αυτόματα. TINYBLOB ή TINYTEXT 255 (2^8-1) χαρακτήρες BLOB ή TEXT 65535 (2^16-1) χαρακτήρες MEDIUMBLOB ή MEDIUMTEXT 16777215 (2^24-1) χαρακτήρες LONGBLOB ή LONGTEXT 4294967295 (2^32-1) χαρακτήρες ENUM('τιμή1','τιμή2',...) Μπορεί να υπάρχουν συνολικά 65.535 διαφορετικές τιμές SET('τιμή1','τιμή2',...) Υπάρχουν έως 64 μέλη
|