Duomenų tipai MYSQL, naudojami duomenų bazėse

Ar mokotės apie duomenų bazių tvarkytojus? Tokiu atveju turite apie tai pranešti duomenų tipai „MySQL“, vienas geriausių ir dažniausiai naudojamų pasaulyje. Nepraleiskite progos!.

Duomenų tipai „MySQL-2“

Duomenų tipai „MySQL“

Kiekvieną kartą, kai mums reikia sukurti lentelę, kuri galėtų būti naudojama programos duomenims saugoti, turime žinoti, kaip nustatyti, kokio tipo duomenys naudojami siekiant geriau išsaugoti viską, ką reikia archyvuoti. Galime pasirinkti iš trijų: skaitinių duomenų, eilučių (raidinių ir skaitinių) ir datų bei laikų.

Šiuose MYSQL lentelių laukuose turime galimybę pasirinkti iš trijų tipų turinio ir, nors atrodo akivaizdu, nuspręskite, kur siųsti duomenis, kokiai grupei priklausys saugykla, čia pateikiame pavyzdį kontekste: taip, mums reikia lauko, su kuriuo galime įrašyti asmens amžių, tada tai būtų skaitinis duomenų laukas.

Bet prieš tęsdamas aiškinimą, ar žinote, kas yra „MySQL“? Jis yra žinomas kaip vienas iš plačiausiai naudojamų atvirojo kodo duomenų bazių valdytojų pasaulyje. Kad galėtume įsivaizduoti, koks jis populiarus, mes jums pasakysime, kad: „WordPress“ yra įvairių tipų turinio, kuris egzistuoja nuo 2003 m., Valdytojas ir kad maždaug 55–60 proc. egzistuoja, yra sukurti dėl to, ir ji naudoja „MySQL“ kaip duomenų bazę, todėl tai įrodo, kokia ji gali būti naudinga ir kokia jos apimtis.

„MySQL“ priklauso „Oracle Corporation“ įmonei, kuri buvo atsakinga už jos įsigijimą 2010 m. Šis valdytojas gali būti naudojamas įvairiais būdais, pavyzdžiui: praktika, diegimas, tinklalapių keitimas, duomenų skaitymas, be kita ko.

Šią tvarkyklę galima lengvai atsisiųsti ir ji turi keletą versijų, priklausomai nuo jūsų naudojamos „Windows“, taip pat ją labai lengva įdiegti.

Didžioji dauguma duomenų bazių tvarkyklių naudojamos programavimo kalba. Tarkime, kad, pavyzdžiui, informacija, kurią turime savo kompiuteriuose, yra prieinama duomenų bazėje, tačiau kai reikia ją peržiūrėti ir valdyti, ji naudoja programavimo kalbą; „MySQL“ atveju ją lydi „php“, žinoma kaip žiniatinklio kūrimo kalba, ta pati, su kuria kuriamas „WordPress“.

Manome, kad greičiu galime rekomenduoti atsisiųsti XAMPP įrankį, kuris yra prieinamas įvairioms „Windows“ versijoms. „XAMPP“ turi daugybę komponentų, tarp kurių turime:

  • Apache: Tai būtų žiniatinklio serveris.
  • PHP: žiniatinklio kūrimo kalba.
  • Fillezilla: Jis yra atsakingas už failų mobilizavimą.
  • Merkurijus: Tai yra pašto serveris, kurio tikslas yra atlikti testus.
  • MySQL: kaip minėjome anksčiau, tai yra duomenų bazės serveris.

Įdiegę XAMPP, galėsite mėgautis visais šiais komponentais, įskaitant „MySQL“, kurį galite paleisti tiesiogiai ir prisijungti prie grafinės sąsajos, todėl XAMPP yra labai naudingas, be kitų komponentų.

Turėdami visa tai aišku, norėjome paaiškinti, kad pasirinkdami lentelių tipų duomenų saugojimo parinktis ir kalbėdami apie skaitinių duomenų lauką, mes turime kitų tipų ir turime žinoti, kuris būtų geriausias, kuris suteiktų suteiksime galimybę sunaudoti mažiau fizinės saugyklos vietos ir suteiksime galimybę gauti duomenų, kuriuos tikimės išsaugoti toje srityje. Vienintelis būdas suprasti šiuos klausimus yra įvairių tipų duomenys, kuriuos mums teikia „MySQL“. Toliau mes pateiksime šią informaciją, kad suprastume tinkamiausius kiekvienos grupės naudojimo būdus.

Kviečiame pamatyti intensyvų kursą apie duomenų tipus „MySQL“ ir viską, ką reikia apie tai žinoti, žemiau esančiame vaizdo įraše. Nepraleiskite progos sužinoti!:

Skaitmeniniai duomenys

Skirtumas, kurį galime rasti tarp vieno ir kito tipo duomenų „MySQL“, yra paprasčiausiai jame esančių verčių diapazonas. Skaitiniais duomenimis turime matyti, kad galime atskirti dvi dideles atšakas: sveikuosius skaičius ir dešimtainius skaičius; Dabar norėtume paaiškinti, kokių tipų duomenų galime turėti, atsižvelgdami į mums pateiktą situaciją ir ko mums reikia:

Skaitiniai sveikieji skaičiai

Pirmiausia norime paaiškinti, kad tokio tipo duomenų saugojimo galimybės būtų amžius, kiekiai ir dydžiai be kablelių. Taip pat norėtume pateikti pavyzdį, kad geriau suprastume, kokio tipo duomenis turėtume pasirinkti kiekvienam laukui:

Pateikiame duomenų tipą „TINYINT“, leidžiantį išsaugoti maksimalią 127 vertę. Taigi, jei mums reikia apibrėžti lauką pagal naudotojų amžių, tai mes galime jį naudoti, nes įprastas amžiaus intervalas yra to skaičiaus ribose , ir nebent gyvename Biblijos Senojo Testamento laikais, niekas biologiškai šio skaičiaus nepralenkė; Taigi ne, tokio tipo duomenys neleidžia mums saugoti 567, pavyzdžiui, net ne 128, jei riba pasiekia 127.

Dabar, jei norime apibrėžti didelės rinkos identifikatoriaus lauką, kuriame būtų parduodami tūkstančiai skirtingų ir įvairių dalykų, tai pasikeistų eksponentiškai, aišku, kad TINYINT mums nebetarnauja, be to, turėtume labai tiksliai žinoti prekių kiekį ji parduodama, bet ne tik tuo, ką šiuo metu turime, bet ir bandydami prognozuoti artimiausią ateitį, tokiu būdu mūsų saugojimo sistema greitai nepasens.

Galėtume naudoti kažką panašaus į SMALLINT, kuris leis mums suskaičiuoti iki 32,000 5 straipsnių, tačiau jei pakeisime pavyzdį ir pereisime iš rinkos į ID lauką, kuris turėtų būti naudojamas telefonų kompanijos, turinčios 200 milijonus vartotojų, lentelėje, nebegalime turėti SMALLINT, o kai kurių kitų, tokių kaip MEDIUMINT, ir toliau, jei mūsų įmonė turėtų XNUMX milijonų klientų, turėtume naudoti INT tipo lauką. Problema keičiasi tuo atveju, kai esate kaprizingas ir norite apibrėžti lauką, pagal kurį identifikuojami visi žmonės, gyvenantys Žemės planetoje, tuomet turėtume paprašyti BIGNIT lauko pagalbos, nes INT tipas leidžia tik iki dviejų tūkstančių milijonų skirtingų duomenų, ir tai akivaizdžiai mūsų nepasiektų.

Taip pat norime patvirtinti, kad egzistuoja neigiamos vertybės, kurias galime rasti norėdami išsaugoti žaidimo rezultatą arba žemiau nulio esantį ženklą, kurį, be kita ko, galėtų pažymėti lentelė.

Nepasirašytos vertės

Pažvelkime į tai taip: turėti neigiamą amžių nebūtų jokios prasmės. Jei yra galimybė padvigubinti kiekvienos duomenų didžiausios teigiamos vertės ribą, pašalinant galimybę, kad tame lauke galima išsaugoti neigiamas vertes, mes padvigubinsime teigiamą saugojimo ribą ir TINYINT tipo lauką, kuris paprastai leido išsaugoti vertes Iš 127, dabar leis jums išsaugoti reikšmes nuo 0 iki 255.

O kaip apibrėžti lauką, kuriame nėra ženklo? Per UNSIGNED modifikatorių galime apibrėžti skaitinį lauką. Naudodami tai turėtume rasti stulpelį, kuriame rašoma „Atributai“ ir „UNSIGNED“ reikšmė, ir šiame lauke nebegali būti neigiamų verčių, taip padvigubinant jo talpą.

Verta paminėti, kad svarbu, kad apibrėždami stulpelio lauką, kurį rastume kaip „Length“, parašytume skaičių, atitinkantį ką tik pasirinktą atminties talpą. Tęsdami amžiaus pavyzdį, jei dirbame su „TINYNIT“, turime įvesti tris, kaip ilgį, o ne didesnį ar mažesnį skaičių.

Skaičiai su dešimtainiais skaičiais

Kainos, atlyginimai, banko sąskaitų sumos, be kita ko, perėjome prie skaitinių reikšmių su dešimtainiais skaičiais ir palikome sveikus skaičius, nepaisant to, kad šie duomenų tipai vadinami „slankiuoju kableliu“, nes kablelis atskiria sveikąjį skaičių ir dešimtainė dalis, iš tikrųjų tarp „MySQL“ duomenų tipų, saugo juos atskiriant juos tašku; iš čia turėtume trijų tipų duomenis: FLOAT, DOUBLE ir DECIMAL.

„FLOAT“ leis mums išsaugoti bent -999.99 ir ne daugiau kaip 999.99 vertę. Atsižvelkite į tai, kad ženklas - neskaičiuojamas, bet taškas, kuris juos skiria, tai yra, po kablelio, taip, todėl jie iš viso būtų šeši skaitmenys, nors pažymime, kad du iš jų yra dešimtainiai; Tačiau mes turime tai, kas vadinama paprastu tikslumo diapazonu, kuris verčia mus turėti dešimtainius kiekius nuo 0 iki 24.

Kita vertus, DUPLAS, kuris yra dvigubai tikslesnis, leidžia nustatyti dešimtainių skaičių skaičių tik nuo 25 iki 23. Naudojant FLOAT, kuris yra paprastas tikslumas, gali kilti problemų dėl apvalinimo ir likusių dešimtųjų skaičių praradimo. Dar reikia paaiškinti DECIMAL, kuris geriausiai tinka piniginėms vertėms saugoti ten, kur reikia mažesnio ilgio, bet maksimalaus tikslumo, ir be apvalinimo šio tipo duomenys skaičiui, kurį jis išsaugos, priskiria fiksuotą plotį. Maksimalus bendras šio tipo duomenų skaitmenų skaičius yra 64, iš kurių 30 yra didžiausias leidžiamas skaičius po kablelio, daugiau nei pakanka kainoms, atlyginimams ir valiutoms saugoti.

dešimtainis taškas-1

Raidiniai ir skaitmeniniai duomenys

Galiausiai paliekame skaitmeninių duomenų kategoriją, kad įvestume naują. Čia mes kalbėsime apie simbolių eilučių saugojimą, kad tai būtų geriau paaiškinta, o tarp „MySQL“ duomenų tipų yra šie: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, „LONGBLOB“, „LONGTEXT“, „ENUM“ ir „SET“, kiekvienas turi savo ypatybes ir privalumus, priklausomai nuo to, kokius duomenis norime išsaugoti.

Data ir laikas

Tai būtų paskutinė mūsų kategorija, kai kalbama apie duomenų tipus MYSQL. Pamatysime, kad turime keletą galimybių saugoti nurodytus duomenis, datas ir laiką, matydami skirtumą tarp vieno ir kito ir jų pagrindinio naudojimo, tokiu būdu kiekvienu atveju galėsime pasirinkti tinkamą duomenų tipą.

INFORMACIJA

Šio tipo duomenys „MySQL“ leidžia mums išsaugoti datas, kuriose pirmieji keturi skaitmenys priklausytų metams, kiti du-mėnesiui, o paskutiniai du-dienai, nors ispanakalbėse šalyse mes įpratę datas užsisakyti pirmiausia. dieną, tada mėnesį ir tada metus, MYSQL yra visiškai priešingai.

Svarbu žinoti, kad skaitant DATE lauką, nors jis rodomas brūkšneliais, skiriančiais metus nuo mėnesio ir mėnesį nuo dienos, tačiau įterpdami šiuos duomenis, mes galime daryti viską nepertraukiamai, pavyzdžiui, galime matyti, kaip tai: 2018-06-04 ir įterpkite jį taip kaip 20180604. Datų diapazonas, kurį DATE leidžia mums tvarkyti, yra nuo 1000-01-01 iki 9999-12-31.

Jei neturėsime nieko bendro su įvykiu, įvykusiu prieš du tūkstančius metų, ir mums reikės jį atskleisti, neturėsime problemų dėl šio formato; kita vertus, žvelgdami į ateitį turime daugiau galimybių, nes tokiu formatu beveik pasiekėme 10,000 XNUMX metų.

data ir laikas

Turėdami lauką, apibrėžtą kaip DATETIME, mes galime saugoti informaciją ne apie datą, bet apie akimirką, akimirką, be datos, taip pat jos tvarkaraštį, pirmiausia turėtume metus, tada mėnesį, tada dieną , tada mes taip pat turėtume valandą, minutes ir net sekundes, formatas atrodo taip:

  • MMMM-MM-DD HH: MM: SS

Datos dalies diapazonas yra panašus į DATE tipo (10,000 1000 metų), ty nuo 01-01-9999 iki 12-31-00. Tvarkaraščio dalis būtų tokia: nuo 00:00:23 iki 53:53:1000. Viskas užbaigta atrodytų taip: 01-01-00 00:00:9999 iki 12-31-23 59:59:XNUMX.

LAIKAS

Čia mums leidžiama saugoti valandas, minutes ir sekundes, taip, ir ankstesnis duomenų tipas, tačiau su TIME turime leistiną diapazoną, kuris svyruoja nuo: -839: 59: 59 iki 839: 59: 59; tai apimtų apie 35 dienas pirmyn ir atgal dabartine data. Šio tipo duomenys idealiai tinka apskaičiuoti praėjusius laikus tarp dviejų artimų momentų.

TIMESTAMP

Čia turime duomenų tipą, kuris gali būti labai panašus į DATETIME, tačiau jo formatas ir diapazonas skiriasi, nors jis vis dar naudingas datai ir laikui išsaugoti. Naudojant šio formato lauką, mums gali būti pateiktos trys parinktys, pirmoji: YYYY-MM-DD HH: MM: SS, antroji: YYYY-MM-DD, o trečioji yra paprastesnė: YY-MM-DD .

Čia mes galime turėti galimą 14, 8 arba 6 skaitmenų ilgį, viskas priklauso nuo mūsų pateiktos informacijos. Šis formatas nėra toks istorinis ar futuristinis kaip kiti, nes diapazonas, kurį tvarko šis laukas, tęsiasi tik nuo 1970-01-01 iki 2037 metų.

Be to, įdomu tai, kad galime nustatyti, kad jo vertė automatiškai atnaujinama kiekvieną kartą, kai įterpiamas ar atnaujinamas įrašas, todėl šiame lauke visada laikysime paskutinio šių duomenų atnaujinimo datą ir laiką. yra tikrai idealus: perimti kontrolę, nereikia nieko programuoti.

Jei norime tai apibrėžti iš „phpMyAdmin“, mums tereikia atributuose pasirinkti parinktį „atnaujinant“ CURRENT_TIMESTAMP ir kaip numatytąją CURRENT_TIMESTAMP. Laukas, kurio reikšmę galima automatiškai atnaujinti įterpiant ar keičiant įrašą.

METAI

Jei turime matyti poreikį apibrėžti lauką kaip YEAR, galime išsaugoti metus, naudodami du ir keturis skaitmenis. Jei tai padarysime dviem skaitmenimis, nuo 70 iki 99 (turėdami nuo 70 iki 99, suprasime, kad jie atitinka metų diapazoną nuo 1970 iki 1999 m., O jei turime skaitmenis nuo 00 iki 69, galime suprantame, kad tai reiškia 2000–2069 metus), tokiu atveju, jei būtų pateikti keturi skaitmenys, pamatytume, kad galimas diapazonas būtų išplėstas, tada nuo 1901 iki 2155 m.

Mes taip pat turime papildomą galimybę, nors ir nesusijusią su „MySQL“ duomenų tipais, bet susijusias su datomis ir laiku. Ši papildoma galimybė yra sugeneruoti laiko žymos reikšmę naudojant PHP laiko funkciją (dar kartą norime patikslinti, kad jau nekalbame apie MYSQL, nors pagrįstai susipainiojate dėl gana panašių pavadinimų).

Šiaip ar taip, mes galėtume išsaugoti šią vertę 10 skaitmenų INT lauke, tokiu būdu bus labai paprasta užsisakyti savo lauko reikšmes (kaip pavyzdį galime pateikti naujienų datą) ir tada gali parodyti tą datą, pakeisdami šios vertės laiko žymę į kažką, ką galime padaryti skaitomą naudojant PHP datos tvarkymo funkcijas.

data-laikas-1

Tikiuosi, kad su šiuo straipsniu apie „MySQL“ duomenų tipus mums pavyko pakankamai aiškiai paaiškinti viską, ką norėjome paaiškinti, ir kad jūs išmokote sukurti duomenų bazę ir lentelę pagal visą mūsų informaciją, tiksliai apibrėždami jų laukus naudojant jiems duomenų tipus ir atributus, todėl, esant galimybei ar tokioms sąlygoms, pradėti tinkamai programuoti, dabar aiškiai įsivaizduojame, kokio formato mums reikės, kuris atitinka mūsų poreikius pagal tai, ką turime programuoti.

Kviečiame skaityti dar vieną mūsų straipsnį, susijusį su programavimu: Polimorfizmas į objektinį programavimą.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: „Actualidad“ tinklaraštis
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.