Designul bazei de date MySQL, printre care pentru optimizarea performanței datelor, considerarea tipurilor de câmp este foarte importantă, colectarea unor informații, sortate și partajate, acest articol este despre introducerea sintaxei Mysql integer bigint, int, mediumint, smallint și tinyint, după cum urmează:
1、bigint
De la -2^63 (-9223372036854775808) la 2^63-1 (9223372036854775807) date întregi (toate numerele), intervalul fără semn este de la 0 la
18446744073709551615。 Un bit are 8 octeți.
2、int
Un întreg de dimensiune normală. Intervalul semnat este de la -2^31 (-2.147.483.648) până la 2^31 - 1 (2.147.483.647) date întregi (toate numerele), iar intervalul fără semn este de la 0 la 4294967295. Un bit are 4 octeți. Sinonimul SQL-92 pentru int este întreg.
3、Mediumint
Un număr întreg de mărime medie cu un interval semnat de la -8388608 la 8388607 și un interval fără semn de la 0 la 16777215. Un bit are 3 octeți.
4、smallint
Un număr întreg mic. Intervalul semnat este de la -2^15 (-32.768) până la 2^15 - 1 (32.767) date întregi, iar intervalul nesemnat este de la 0 la 65535. Un bit are o dimensiune de 2 octeți. MySQL oferă mai mult decât suficiente funcționalități, iar pentru că MySQL este software open source, poate reduce semnificativ costul total de proprietate.
5、tinyint
Intervalul semnat este -128 - 127, iar intervalul nesemnat este format din date întregi de la 0 la 255. Un bit are 1 octet în dimensiune.
Rețineți că toate operațiile aritmetice se fac cu valori semnate BIGINT sau DOUBLE, așa că nu ar trebui să folosiți numere întregi mari semnate mai mari de 9223372036854775807 (63 de biți), cu excepția funcțiilor de biți! Rețineți că atunci când cei doi parametri sunt valori ÎNTREGI,-、 + și * vor folosi operația BIGINT! Aceasta înseamnă că dacă înmulțești cu 2 numere întregi mari (sau dintr-o funcție care returnează un întreg), poți obține rezultate neașteptate dacă rezultatul este mai mare decât 9223372036854775807. Un număr în virgulă mobilă nu poate fi nesemnat, pentru un număr în virgulă mobilă cu precizie simplă, precizia sa poate fi <=24, pentru un număr în virgulă mobilă cu dublă precizie, este între 25 și 53, aceste tipuri precum FLOAT și DOUBLE sunt descrise mai jos. FLOAT(X) are același interval ca FLOAT și DOUBLE, dar dimensiunea afișajului și numărul de zecimale sunt nedefinite. În MySQL 3.23, aceasta este o valoare adevărată în virgulă mobilă. În versiunile anterioare ale MySQL, FLOAT(precizie) avea întotdeauna două zecimale. Această sintaxă este oferită pentru compatibilitate ODBC.
Intervalul de valori al fiecărui tip de date în MySQL
TINYINT -128 - 127 TINYINT NESEMNAT 0 - 255 SMALLINT -32768 - 32767 SMALLINT NESEMNAT 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT NESEMNAT 0 - 16777215 INT sau ÎNTREG -2147483648 - 2147483647 INT NESEMNAT sau NESEMNAT ÎNTREG 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT NESEMNAT 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 DUBLĂ sau DUBLĂ PRECIZIE sau REAL -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 ZECIMAL[(M,[D])] sau NUMERIC(M,D) Determinat de M (lungimea întregului număr, inclusiv punctul zecimal, numărul de cifre din stânga punctului zecimal, numărul de cifre din dreapta punctului zecimal, dar nu semnul negativ) și D (numărul de cifre din dreapta punctului zecimal), M este implicit 10, iar D implicit 0 DATĂ 1000-01-01 - 9999-12-31 DATA-ORĂ 1000-01-01 00:00:00 - 9999-12-31 23:59:59 MARCAJ TEMPORAL 1970-01-01 00:00:00 - O zi în 2037 (nu știu exact ce zi, hehe) ORĂ -838:59:59' la 838:59:59 AN[(2|4)] Implicit este formatul pe 4 biți, formatul pe 4 biți este 1901 - 2155.0000, iar formatul pe 2 biți este 70-69 (1970-2069) CHAR(M) [BINAR] sau NCHAR(M) [BINAR] M variază de la 1 la 255, iar dacă nu există un element BINAR, este sensibil la majuscule, iar NCHAR înseamnă folosirea setului implicit de caractere. Completează cu spații în baza de date, dar spațiile de la final vor fi eliminate automat când le scoți. [NAȚIONAL] VARCHAR(M) [BINAR] M variază de la 1 la 255. Spațiile de la capătul bazei de date vor fi eliminate automat. TINYBLOB sau TINYTEXT 255 (2^8-1) caractere BLOB sau TEXT 65535 (2^16-1) caractere MEDIUMBLOB sau MEDIUMTEXT 16777215 (2^24-1) caractere LONGBLOB sau TEXT LUNG 4294967295 (2^32-1) personaje ENUM('value1','value2',...) Pot exista în total 65.535 de valori diferite SET('value1','value2',...) Există până la 64 de membri
|