Andmetüübid MYSQL -is kasutamiseks andmebaasides

Kas õpite andmebaasihalduritest? Sellisel juhul peate end sellest teavitama andmetüübid MySQL -is, üks parimaid ja enim kasutatud maailmas. Ära jäta võimalust kasutamata!

Andmetüübid-MySql-2-s

Andmetüübid MySQL -is

Iga kord, kui peame looma tabeli, mida saab kasutada rakenduse andmete salvestamiseks, peame teadma, kuidas tuvastada, millist tüüpi andmeid kasutatakse, et paremini salvestada kõike, mida vajame arhiveerimiseks. Valida saab kolme vahel: arvandmed, stringid (tähtnumbrilised) ning kuupäevad ja kellaajad.

Nendel MYSQL tabelite väljadel on meil võimalus valida kolme tüüpi sisu vahel ja kuigi tundub ilmselge, määrake, kuhu oma andmed saata, millisesse gruppi salvestusruum kuulub, siin on meil näide kontekstis: jah, me vajame välja, millega saame salvestada inimese vanuse, siis oleks see arvandmete väli.

Aga enne kui ma jätkan selgitamist, kas teate, mis on MySQL? See on tuntud kui üks enim kasutatud avatud lähtekoodiga andmebaasihaldureid maailmas. Et saaksime aimu, kui populaarne see on, ütleme teile, et: WordPress haldab erinevat tüüpi sisu, mis on eksisteerinud alates 2003. aastast, ja umbes 55% kuni 60% veebilehtedest, eksisteerivad, on tehtud tänu sellele ja see kasutab MySQL -i andmebaasina, nii et see tõestab selle kasulikkust ja ulatust.

MySQL kuulub Oracle Corporationi ettevõttele, kes vastutas selle ostmise eest 2010. aastal. Sellel halduril on mitmeid kasutusvõimalusi, näiteks: tavad, paigaldused, veebilehtede muutmine, andmete lugemine.

Seda draiverit saab hõlpsasti alla laadida ja sellel on mitu versiooni sõltuvalt kasutatavast Windowsist, samamoodi on selle installimine väga lihtne.

Valdavat osa andmebaasidraivereid kasutatakse programmeerimiskeele kaudu. Oletame, et näiteks meie arvutites olev teave on andmebaasis saadaval, kuid kui me peame seda visualiseerima ja haldama, kasutab see programmeerimiskeelt; MySQL -i puhul on sellega kaasas php, mida tuntakse veebiarenduskeelena, sama, millega WordPressi arendatakse.

Oletame, et saame kiirendamiseks soovitada alla laadida XAMPP tööriista, mis on saadaval Windowsi erinevate versioonide jaoks. XAMPP -il on mitmeid komponente, sealhulgas:

  • Apache: See oleks veebiserver.
  • PHP: veebiarenduse keel.
  • Fillezilla: Ta vastutab failide mobiliseerimise eest.
  • Elavhõbe: see on meiliserver, mille eesmärk on testid läbi viia.
  • MySQL: Nagu me varem mainisime, on see andmebaasiserver.

Pärast XAMPP -i installimist saate nautida kõiki neid komponente, sealhulgas MySQL -i, mida saate otse käivitada ja ühendada graafilise liidesega, seetõttu on XAMPP lisaks teistele komponentidele äärmiselt kasulik.

Olles seda kõike selge, tahtsime selgitada, et meie andmete salvestamiseks mõeldud tabelitüüpide võimaluste piires ja arvandmete väljast rääkides on selles samas ka teisi tüüpe ja peame teadma, milline oleks parim ja milline annab meile võimaluse tarbida vähem füüsilist salvestusruumi ja annab meile võimaluse andmeid, mida loodame selles valdkonnas salvestada. Ainus viis nende küsimuste mõistmiseks on erinevat tüüpi andmed, mida MySQL meile pakub. Allpool pakume seda teavet, et mõista iga rühma kõige sobivamaid kasutusviise.

Kutsume teid vaatama allolevas videos intensiivset kursust andmetüüpide kohta MySQL -is ja kõike, mida peate selle kohta teadma. Ärge jätke kasutamata võimalust õppida!:

Arvandmed

Erinevus, mida MySQL -is ühe ja teise andmetüübi vahel leida võime, on lihtsalt väärtuste vahemik, mida see võib sisaldada. Arvandmete sees peame nägema, et saame eristada kahte suurt haru: täisarvud ja kümnendkohad; Nüüd tahaksime selgitada, milliseid arvandmeid meil võib olla vastavalt olukorrale, mida meile esitatakse ja mida me vajame:

Numbrilised täisarvud

Esimene asi, mida me siinkohal selgitada tahame, on see, et seda tüüpi andmete salvestamise võimalused oleksid vanused, kogused ja suurusjärgud ilma kümnendkohtadeta. Samuti tooksime näite, et paremini mõista, millist tüüpi andmeid peaksime iga välja jaoks valima:

Esitame andmetüübi TINYINT, mis võimaldab meil salvestada maksimaalse väärtuse 127. Seega, kui peame oma kasutajate vanuse jaoks välja määrama, võiksime seda kasutada, sest tavaline vanusevahemik jääb selle arvu piiresse , ja kui me ei ela piibelliku Vana Testamendi ajal, ei ületanud seda bioloogiliselt keegi bioloogiliselt; Nii et ei, seda tüüpi andmed ei võimalda meil salvestada näiteks 567, isegi mitte 128, kui piir jõuab 127 -ni.

Kui tahame määratleda välja suure turu identifikaatoriks, kus müüakse tuhandeid erinevaid ja mitmekesiseid asju, muutub see plahvatuslikult, selgelt, et TINYINT meid enam ei teeninda, lisaks peaksime väga täpselt teadma kauba kogust. see müüb, kuid mitte ainult sellega, mis meil praegu on, vaid püüdes ennustada meie lähitulevikku, ei muutu sel viisil meie salvestussüsteem kiiresti vananenuks.

Võiksime kasutada midagi sellist nagu SMALLINT, mis võimaldab nummerdada kuni 32,000 5 artiklit, kuid kui muudame näidet ja liigume turult ID -väljale, mida tuleks kasutada 200 miljoni kasutajaga telefoniettevõtte klienditabeli jaoks, ei saanud enam SMALLINTi, vaid mõnda muud, näiteks MEDIUMINT, ja me jätkame, juhul kui meie ettevõttel oleks XNUMX miljonit klienti, peaksime kasutama tüüpi INT. Probleem muutub kapriisseks muutumisel ja soovides määratleda valdkonna, mis tuvastab kõik planeedil Maa elavad inimesed, siis peaksime paluma abi BIGNIT väljalt, kuna INT -tüüp lubab ainult kuni kaks miljonit miljonit erinevaid andmeid ja see ei jõuaks ilmselgelt meieni.

Samuti tahame kinnitada negatiivsete väärtuste olemasolu, mida võiksime leida, kui soovime salvestada mängu tulemust või muu hulgas tabelit tähistavat märki alla nulli.

Allkirjastamata väärtused

Vaatame seda nii: negatiivse vanuse omamine poleks üldse mõtet. Kui on võimalus kahekordistada iga andmete maksimaalse positiivse väärtuse piiri, välistades võimaluse, et see väli võib salvestada negatiivseid väärtusi, kahekordistame salvestamise positiivset piiri ja tüüpi TINYINT, mis tavaliselt võimaldas väärtusi salvestada 127 -st, võimaldab nüüd salvestada väärtusi vahemikus 0 kuni 255.

Ja kuidas me määratleme välja, millel pole märki? UNSIGNED modifikaatori kaudu saame määratleda numbrivälja. Seda kasutades peaksime leidma veeru, mis loeb atribuute ja väärtust UNSIGNED ning see väli ei saa enam sisaldada negatiivseid väärtusi, seega kahekordistab selle salvestusmahtu.

Väärib märkimist, et on oluline, et kui määratleme veerus välja, mille leiame kui pikkust, kirjutame numbri, mis vastab äsja valitud mälumahule. Jätkates vanuse näidet, kui töötame TINYNITiga, peame pikkuseks panema kolmiku, mitte suurema või väiksema arvu.

Kümnendkohaga numbrid

Hinnad, palgad, pangakontode summad, muu hulgas oleme liikunud kümnendkohtadega arvväärtuste juurde ja jätnud täisarvud maha ning hoolimata asjaolust, et neid andmetüüpe nimetatakse "ujukomaks", kuna koma eraldab osa täisarvu ja komakoht, tegelikult MySQL andmetüüpide vahel, salvestab need punktidega eraldades; siit saame kolme tüüpi andmeid: FLOAT, DOUBLE ja DECIMAL.

FLOAT võimaldab meil salvestada vähemalt väärtuse -999.99 ja maksimaalselt 999.99. Võtke arvesse, et märk - ei loe, vaid punkt, mis neid eraldab, see tähendab kümnendkoht, jah, sellepärast oleksid need kokku kuus numbrit, kuigi märgime, et kaks neist on kümnendkohad; Kuid meil on midagi, mida nimetatakse lihtsaks täpsusvahemikuks, mis sunnib meid olema kümnendkogused vahemikus 0 kuni 24.

Teisest küljest võimaldab DOUBLE, mis on kaks korda täpsem, määrata ainult kümnendkohtade arvu vahemikus 25 kuni 23. FLOAT -i kasutamine, mis on lihtne täpsus, võib põhjustada ümardamisprobleeme ja ülejäänud kümnendkohtade kaotamist. Üks selgitamata jääv on DECIMAL, mis on parim rahaliste väärtuste salvestamiseks, kui on vaja vähem pikkust, kuid maksimaalset täpsust, ja ilma ümardamiseta määrab seda tüüpi andmed salvestatavale numbrile kindla laiuse. Seda tüüpi andmete maksimaalne arv on 64, millest 30 on maksimaalne lubatud arv pärast koma, mis on enam kui piisav hindade, palkade ja valuutade salvestamiseks.

kümnendkoht-1

Tähtnumbrilised andmed

Lõpuks jätame arvandmete kategooriast uue sisestamiseks. Siin räägime tähemärkide salvestamisest, et seda paremini selgitada, ja MySQL -i andmetüüpide hulgas on meil järgmised: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM ja SET, igal neist on oma omadused ja eelised sõltuvalt sellest, milliseid andmeid me soovime salvestada.

Kuupäeva ja kellaaja andmed

See oleks meie viimane kategooria, kui tegemist on andmetüüpidega MYSQL -is. Näeme, et meil on mitu võimalust viidatud andmete, kuupäevade ja kellaaegade salvestamiseks, nähes erinevust ühe ja teise vahel ning nende peamisi kasutusvõimalusi, nii saame igal juhul valida sobivat tüüpi andmeid.

ANDMED

Seda tüüpi andmed MySQL-is võimaldavad meil salvestada kuupäevi, kus neli esimest numbrit kuuluvad aastasse, kaks järgnevat kuusse ja kaks viimast päeva, kuigi hispaania keelt kõnelevates riikides oleme harjunud kuupäevad kõigepealt tellima päev, siis kuu ja siis aasta, MYSQL -i puhul on see täiesti vastupidi.

Oluline on teada, et DATE välja lugedes, kuigi see ilmub kriipsudega, mis eraldavad aasta kuust ja kuu päevast, võimaldab see andmete sisestamisel meil teha kõike pidevalt, näiteks näeme seda näiteks see: 2018-06-04 ja sisestage see selliselt 20180604. Kuupäevavahemik, mida DATE võimaldab meil käsitleda, on 1000-01-01 kuni 9999-12-31.

Kui meil pole midagi pistmist sündmusega, mis juhtus kaks tuhat aastat tagasi ja me peame selle paljastama, pole meil selle vorminguga probleeme; teisest küljest on meil tulevikku silmas pidades rohkem võimalusi, kuna selle formaadiga jõudsime peaaegu aastani 10,000 XNUMX.

KUUPÄEV KELLAAEG

Kui väli DATETIME on määratletud, saame salvestada teavet mitte kuupäeva, vaid hetke, ajahetke kohta, peale kuupäeva, ka selle ajakava, esmalt oleks meil aasta, siis kuu, seejärel päev , siis oleks meil ka tund, minutid ja isegi sekundid, vorming näeb välja selline:

  • AAAA- KK-PP KH: KK: SS

Kuupäevaosa vahemik sarnaneb DATE tüübiga (10,000 1000 aastat), st vahemikus 01-01-9999 kuni 12-31-00. Graafiku osa läheks nii: 00:00:23 kuni 53:53:1000. Kõik täielik näeks välja selline: 01-01-00 00:00:9999 kuni 12-31-23 59:59:XNUMX.

AEG

Siin on meil lubatud salvestada tunde, minuteid ja sekundeid ning jah, seda tegi ka eelmine andmetüüp, kuid ajaga TIME on meil lubatud vahemik: -839: 59: 59 kuni 839: 59: 59; see hõlmaks praegusel kuupäeval umbes 35 päeva edasi -tagasi. Seda tüüpi andmed sobivad ideaalselt kahe lähedase hetke vahel kulunud aja arvutamiseks.

AJAMÄNG

Siin on meil andmetüüp, mis võib olla väga sarnane kuupäevaga DATETIME, kuid selle vorming ja vahemik on erinevad, kuigi see on kuupäeva ja kellaaja salvestamiseks siiski kasulik. Selle vormingu väljaga saab meile esitada kolm võimalust, esimene on: AAAA-KK-PP HH: MM: SS, teine ​​on: AAAA-KK-PP ja kolmas on lihtsam: AAA-KK- DD.

Siin on meil võimalik pikkus 14, 8 või 6 numbrit, kõik sõltub meie pakutavast teabest. See vorming ei ole nii ajalooline ega futuristlik kui teised, kuna selle valdkonna käsitletav vahemik ulatub vaid ajavahemikku 1970-01-01 kuni aastani 2037.

Lisaks võime uudishimulisena tõdeda, et selle väärtust uuendatakse automaatselt iga kord, kui kirje sisestatakse või uuendatakse, nii hoiame sel väljal alati nende andmete viimase uuendamise kuupäeva ja kellaaega, mis on tõesti ideaalne, et juhtida, ilma et oleks vaja midagi programmeerida.

Kui tahame seda määrata phpMyAdminist, peame vaid valima atribuutidest suvandi, mis ütleb "värskendamisel" CURRENT_TIMESTAMP ja vaikeväärtusena CURRENT_TIMESTAMP. Väli, mille väärtust saab kirje sisestamisel või muutmisel automaatselt värskendada.

AASTA

Juhul, kui peame nägema vajadust määratleda väli AASTA, saame salvestada aasta, kasutades nii kahte kui ka nelja numbrit. Kui teeme seda kahekohalise numbrina, 70–99 (70–99 korral saame aru, et need vastavad aastate vahemikule 1970–1999, ja kui numbrid on 00–69, saame aru see viitab aastatele 2000–2069), sel juhul, kui anname neli numbrit, siis leiame, et võimalik vahemik laieneks ja läheks siis 1901. aastast 2155.

Meil on ka lisavõimalus, kuigi see pole MySQL -i andmetüüpidega seotud, kuid seotud kuupäevade ja kellaaegadega. See lisavõimalus on luua PHP ajafunktsiooniga ajatempli väärtus (taaskord tahame selgitada, et me ei räägi enam MYSQL -ist, kuigi päris sarnaste nimede tõttu on õige segadusse sattuda).

Igatahes võiksime selle väärtuse salvestada 10-kohalisse INT-väljale, sel viisil on väga lihtne oma välja väärtusi tellida (näitena võime tuua uudise kuupäeva) ja seejärel saab seda kuupäeva näidata, muutes selle väärtuse ajatempli millekski, mille saame PHP enda kuupäevakäsitlusfunktsioonide abil loetavaks muuta.

kuupäev-kellaaeg-1

Loodan, et selle MySQL -i andmetüüpe käsitleva artikliga oleme suutnud teha kõik, mida soovisime selgitada, piisavalt selgeks ja olete õppinud, kuidas luua andmebaas ja tabel vastavalt kogu meie teabele, määratledes täpselt nende väljad Kasutades neid andmetüüpide ja atribuutidena, olles seega võimelised või tingimustes korralikult programmeerima hakkama, omades nüüd selget ettekujutust sellest, millist vormingut me vajame, mis sobib meie vajadustega vastavalt peab programmeerima.

Kutsume teid nautima veel ühte meie programmeerimisega seotud artiklit: Polümorfism objektorienteeritud programmeerimises.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: ajaveeb Actualidad
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.