Straipsnių katalogas
Kokius duomenų tipus palaiko MySQL ? Išsamus MySQL duomenų tipų paaiškinimas.
MySQL duomenų tipai
„MySQL“ apibrėžtų duomenų laukų tipai yra labai svarbūs jūsų duomenų bazės optimizavimui.
MySQL palaiko kelis tipus, kuriuos galima grubiai suskirstyti į tris kategorijas: skaitinius, datos / laiko ir eilučių (simbolių) tipus.
Skaitmeninis tipas
MySQL duomenų bazės palaiko visus standartinius SQL skaitinių duomenų tipus.
Šie tipai apima griežtus skaitinių duomenų tipus (INTEGER, SMALLINT, DECIMAL ir NUMERIC) ir apytikslius skaitmeninių duomenų tipus (FLOAT, REAL ir DOUBLE PRECISION).
Raktinis žodis INT yra INTEGER sinonimas, o raktinis žodis DEC yra DECIMAL sinonimas.
BIT duomenų tipas saugo bitų laukų reikšmes ir palaiko MyISAM, MEMORY, InnoDB ir BDB lenteles.
Kaip SQL standarto plėtinys, MySQL taip pat palaiko sveikųjų skaičių tipus TINYINT, MEDIUMINT ir BIGINT. Šioje lentelėje parodyta saugykla ir diapazonas, reikalingas kiekvienam sveikųjų skaičių tipui.
| 类型 | dydis | Diapazonas (pasirašytas) | Diapazonas (nepasirašytas) | 用途 |
|---|---|---|---|---|
| TINYINT | 1 baitas | (-128 127) | (0 255) | mažas sveikasis skaičius |
| SMALLINTAS | 2 baitas | (-32 768, 32 767) | (0 65) | didelis sveikasis skaičius |
| VIDUTINIS | 3 baitas | (-8 388 608, 8 388 607) | (0 16 777) | didelis sveikasis skaičius |
| INT arba INTEGER | 4 baitas | (-2 147 483 648, 2 147 483 647) | (0 4 294 967) | didelis sveikasis skaičius |
| BIGINT | 8 baitas | (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) | (0 18 446 744 073 709 551) | labai didelė sveikojo skaičiaus reikšmė |
| Plaustas | 4 baitas | (-3.402 823 466 E+38, -1.175 494 351 E-38), 0, (1.175 494 351 E-38, 3.402 823 466 351 E+38) | 0, (1.175 494 351 38 E-3.402, 823 466 38 XNUMX E+XNUMX) | vienetinis tikslumas Slankaus kablelio vertė |
| DVIGUBAS | 8 baitas | (-1.797 693 134 862 315 7 E+308, -2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) | 0, (2.225 073 858 507 201 4 308 E-1.797, 693 134 862 315 7 308 XNUMX E+XNUMX) | dvigubas tikslumas Slankaus kablelio vertė |
| DEKIMALIS | DECIMAL(M,D), jei M>D, tai yra M+2, kitaip D+2 | Priklauso nuo M ir D reikšmių | Priklauso nuo M ir D reikšmių | dešimtainė reikšmė |
Datos ir laiko tipai
Datos ir laiko tipai, nurodantys laiko reikšmes, yra DATETIME, DATE, TIMESTAMP, TIME ir YEAR.
Kiekvienas laiko tipas turi galiojančių reikšmių diapazoną ir „nulinę“ reikšmę, kuri naudojama nurodant neteisėtą reikšmę, kurios MySQL negali atstovauti.
TIMESTAMP tipas turi patentuotas automatinio atnaujinimo funkcijas, kurios bus aprašytos vėliau.
| 类型 | dydis (baitas) | apimtis | formatas | 用途 |
|---|---|---|---|---|
| INFORMACIJA | 3 | 1000-01-01/9999-12-31 | MMMM-MM-DD | datos vertė |
| LAIKAS | 3 | ‘-838:59:59'/'838:59:59' | HH: MM: SS | laiko reikšmę arba trukmę |
| METAI | 1 | 1901/2155 | MMMM | metų vertė |
| data ir laikas | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | MMMM-MM-DD HH: MM: SS | Sumaišykite datos ir laiko vertes |
| TIMESTAMP | 4 | 1970-01-01 00:00:00/2037 年某时 | YYYYMMDDHHMMSS | Mišrios datos ir laiko reikšmės, laiko žymos |
stygos tipas
Eilučių tipai reiškia CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM ir SET. Šiame skyriuje aprašoma, kaip šie tipai veikia ir kaip juos naudoti užklausose.
| 类型 | dydis | 用途 |
|---|---|---|
| CHARAS | 0–255 baitai | Fiksuoto ilgio virvelė |
| VARCHARAS | 0-65535 baitai | kintamo ilgio eilutė |
| TINYBLOB | 0–255 baitai | Dvejetainė eilutė, kurią sudaro ne daugiau kaip 255 simboliai |
| TINYTEXT | 0–255 baitai | trumpa teksto eilutė |
| BLOBAS | 0–65 535 baitai | Ilgi tekstiniai duomenys dvejetaine forma |
| TEKSTAS | 0–65 535 baitai | ilgi tekstiniai duomenys |
| VIDUTINIS BLOBAS | 0-16 777 215 baitų | Vidutinio ilgio tekstiniai duomenys dvejetaine forma |
| VIDUTINIS TEKSTAS | 0-16 777 215 baitų | Vidutinio ilgio tekstiniai duomenys |
| LONGBLOB | 0-4 294 967 295 baitai | Labai dideli tekstiniai duomenys dvejetaine forma |
| LONGTEKSTAS | 0-4 294 967 295 baitai | Labai dideli tekstiniai duomenys |
CHAR ir VARCHAR tipai yra panašūs, tačiau jie išsaugomi ir gaunami skirtingai. Jie taip pat skiriasi didžiausiu ilgiu ir tuo, ar išsaugomi galinių tarpai. Dėžutės konvertavimas neatliekamas saugojimo ar gavimo metu.
BINARY ir VARBINARY klasės yra panašios į CHAR ir VARCHAR, išskyrus tai, kad jose yra dvejetainės eilutės, o ne dvejetainės eilutės. Tai reiškia, kad juose yra baitų, o ne simbolių eilučių. Tai reiškia, kad jie neturi simbolių rinkinio, o rūšiavimas ir palyginimas grindžiami stulpelio vertės baitų skaitine verte.
BLOB yra dvejetainis didelis objektas, kuriame galima laikyti kintamą duomenų kiekį. Yra 4 BLOB tipai: TINYBLOB, BLOB, MEDIUMBLOB ir LONGBLOB. Jie skiriasi tik maksimaliu ilgiu, kurį jie gali turėti.
Yra 4 TEKSTO tipai: TINYTEXT, TEXT, MEDIUMTEXT ir LONGTEXT. Tai atitinka 4 BLOB tipus, kurių maksimalus ilgis ir saugojimo reikalavimai yra vienodi.
Tikiuosi, kad jums bus naudingas straipsnis „Kokius duomenų tipus palaiko MySQL? Išsamus MySQL duomenų tipų paaiškinimas“, kuriuo pasidalinta Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ).
Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-466.html
