|
|
Objavljeno 17. 5. 2020 ob 21:45:54
|
|
|

Oblikovanje MySQL baz podatkov, med njimi, za optimizacijo zmogljivosti podatkov, je upoštevanje vrste polj zelo pomembno, zbral sem nekaj informacij, jih razvrstil in delil, ta članek obravnava uvod v skladnjo mysql integer bigint, int, mediumint, smallint in tinyint, kot sledi:
1、bigint
Od -2^63 (-9223372036854775808) do 2^63-1 (9223372036854775807) celoštevilskih podatkov (vse številke) je razpon brez predznaka od 0 do
18446744073709551615。 En bit je 8 bajtov.
2、int
Normalno veliko celo število. Označeni razpon je -2^31 (-2.147.483.648) do 2^31 - 1 (2.147.483.647) celoštevilskih podatkov (vse številke), nepredznak pa je od 0 do 4294967295. Bit je velik 4 bajte. Sopomenka za int v SQL-92 je cela številka.
3、mediumint
Srednje veliko celo število z znanim razponom od -8388608 do 8388607 in nepredznakom od 0 do 16777215. Bit je velik 3 bajte.
4、smallint
Majhno celo število. Označeni razpon je od -2^15 (-32.768) do 2^15 - 1 (32.767) celoštevilskih podatkov, nepredznačeni razpon pa od 0 do 65535. Bit je velik 2 bajta. MySQL ponuja več kot dovolj funkcij, in ker je MySQL odprtokodni program, lahko znatno zmanjša skupne stroške lastništva.
5、tinyint
Označeni razpon je -128 - 127, nepredznak razpon pa so celoštevilski podatki od 0 do 255. Bit je velik 1 bajt.
Upoštevajte, da se vse aritmetične operacije izvajajo s predpisanimi vrednostmi BIGINT ali DOUBLE, zato ne smete uporabljati predznakovanih velikih celih števil, večjih od 9223372036854775807 (63 bitov), razen za bitne funkcije! Upoštevajte, da ko sta oba parametra cela števila,-、 + in * uporabljata operacijo BIGINT! To pomeni, da če množite z 2 velikima celima številoma (ali iz funkcije, ki vrne celo število), lahko dobite nepričakovane rezultate, če je rezultat večji od 9223372036854775807. Števila s plavajočo vejico ni mogoče odstraniti brez predznaka; za enosmerno natančno število s plavajočo vejico je njegova natančnost lahko <=24, za dvojno natančno število s plavajočo vejico pa med 25 in 53, ti tipi, kot sta FLOAT in DOUBLE, so opisani spodaj. FLOAT(X) ima enak razpon kot FLOAT in DOUBLE, vendar velikost zaslona in število decimalnih mest nista določena. V MySQL 3.23 je to prava vrednost s plavajočo vejico. V starejših različicah MySQL je imel FLOAT(precision) vedno dve decimalki. Ta sintaksa je namenjena združljivosti z ODBC.
Vrednostni razpon vsake vrste podatkov v MySQL
TINYINT -128 - 127 TINYINT NEPODPISAN 0 - 255 SMALLINT -32768 - 32767 SMALLINT NEPODPISAN 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT NEPODPISAN 0 - 16777215 INT ali CELO ŠTEVILO -2147483648 - 2147483647 INT NESIGNED ali INTEGER NESIGNED 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT NEPODPISAN 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 DVOJNA ali DVOJNA NATANČNOST ali REAL -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 DECIMALNO[(M,[D])] ali NUMERIČNO(M,D) Določeno z M (dolžina celotnega števila, vključno z decimalno vejico, številom števk levo od decimalke, številom številk desno od decimalke, ne pa z negativnim znakom) in D (število številk desno od decimalke), M privzeto 10, D pa 0 DATUM 1000-01-01 - 9999-12-31 ČAS ZMENKA 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ČASOVNI ŽIG 1970-01-01 00:00:00 - En dan v letu 2037 (ne vem točno, kateri dan, hehe) ČAS -838:59:59' do 838:59:59 LETO[(2|4)] Privzeti format je 4-bitni, 4-bitni format je 1901 - 2155.0000, 2-bitni format pa 70-69 (1970-2069) CHAR(M) [BINARNO] ali NCHAR(M) [BINARNO] M se giblje od 1 do 255, in če ni binarnega elementa, je občutljiv na velike črke, NCHAR pa pomeni uporabo privzetega nabora znakov. V bazi podatkov zapolniš z vmesnimi prostori, vendar se presledki na koncu samodejno odstranijo, ko jih odstraniš. [NATIONAL] VARCHAR(M) [BINARNO] M se giblje od 1 do 255. Presledki na koncu baze podatkov bodo samodejno odstranjeni. TINYBLOB ali TINYTEXT 255 (2^8-1) likov BLOB ali TEXT 65535 (2^16-1) likov MEDIUMBLOB ali MEDIUMTEXT 16777215 (2^24-1) liki LONGBLOB ali LONGTEXT 4294967295 (2^32-1) liki ENUM('value1','value2',...) Skupno je lahko 65.535 različnih vrednosti SET('value1','value2',...) Število članov je do 64
|
Prejšnji:PHP prelom vrstice PHP_EOLNaslednji:Linux posodobitev, ukaz yum update
|