Tipovi podataka u MYSQL -u za upotrebu u bazama podataka

Učite li o upraviteljima baza podataka? U tom slučaju morate se informirati o tipovi podataka u MySQL -u, jedan od najboljih i najčešće korištenih na svijetu. Ne propustite priliku!.

Tipovi podataka-u-Mysql-2

Tipovi podataka u MySQL -u

Svaki put kada moramo stvoriti tablicu koja se može koristiti za pohranu podataka za aplikaciju, moramo znati kako identificirati vrstu podataka koja se koristi za bolje spremanje svega što nam je potrebno za arhiviranje. Možemo birati između tri: numeričkih podataka, nizova (alfanumeričkih) i datuma i vremena.

U ovim poljima MYSQL tablica imamo mogućnost biranja između tri vrste sadržaja, i iako se čini očiglednim, odredite gdje ćemo poslati svoje podatke, kojoj će vrsti grupe skladište pripadati, ovdje imamo primjer za sebe u kontekstu: da, potrebno nam je polje s kojim možemo pohraniti dob osobe, onda bi to bilo polje s numeričkim podacima.

Ali prije nego što nastavim objašnjavati, znate li šta je MySQL? Poznat je kao jedan od najčešće korištenih upravitelja baza podataka otvorenog koda u svijetu. Kako bismo imali predodžbu o tome koliko je popularan, reći ćemo vam sljedeće: WordPress je upravitelj različitih vrsta sadržaja, koji postoji od 2003. godine, te da oko 55% do 60% web stranica postoje, napravljeni su zahvaljujući ovome i koristi MySQL kao bazu podataka, pa to dokazuje koliko može biti korisno i opseg koji ima.

MySQL pripada kompaniji Oracle Corporation koja je bila zadužena za kupovinu 2010. Ovaj menadžer ima višestruku upotrebu, poput: prakse, izvođenja instalacija, izmjene web stranica, čitanja podataka, između ostalog.

Ovaj upravljački program može se lako preuzeti i ima nekoliko verzija, ovisno o Windowsu koji koristite, na isti način, vrlo ga je lako instalirati.

Velika većina upravljačkih programa baza podataka koristi se preko programskog jezika. Recimo da su, na primjer, informacije koje imamo na svojim računarima dostupne u bazi podataka, ali kada ih trebamo pregledati i upravljati, koristi programski jezik; U slučaju MySQL, prati ga php, koji je poznat kao jezik za web razvoj, isti s kojim se razvija WordPress.

Pretpostavljamo da zbog brzine možemo preporučiti preuzimanje XAMPP alata koji je dostupan za različite verzije Windowsa. XAMPP dolazi s nizom komponenti, među kojima imamo:

  • Apache: Ovo bi bio web server.
  • PHP: Jezik za web razvoj.
  • Fillezilla: On je zadužen za mobiliziranje dosjea.
  • Merkur: To je poštanski server koji ima svrhu da radi testove.
  • MySQL: Kao što smo ranije spomenuli, to je poslužitelj baze podataka.

Nakon instaliranja XAMPP -a moći ćete uživati ​​u svim ovim komponentama, uključujući MySQL, koji možete pokrenuti izravno i povezati se s grafičkim sučeljem, zato je XAMPP izuzetno koristan, osim što ima i ostale komponente.

Imajući sve ovo jasno, htjeli smo objasniti da unutar naših mogućnosti za vrste tablica za pohranu naših podataka, i govoreći o polju numeričkih podataka, unutar ovih istih imamo i druge vrste, te moramo znati koja bi bila najbolja, koja bi daju nam priliku da potrošimo manje fizičkog prostora za pohranu i dat će nam mogućnost podataka koje se nadamo pohraniti na tom polju. Jedini način da shvatimo ova pitanja su različite vrste podataka koje nam MySQL pruža, u nastavku ćemo pružiti te informacije kako bismo razumjeli najprikladniju upotrebu svake grupe.

Pozivamo vas da pogledate intenzivni kurs o vrstama podataka u MySQL -u i svemu što trebate znati o njemu, u videu ispod. Ne propustite priliku da naučite!:

Numerički podaci

Razlika koju bismo mogli pronaći između jedne vrste podataka i druge u MySQL -u je jednostavno raspon vrijednosti koje mogu sadržavati. Unutar numeričkih podataka moramo vidjeti da možemo razlikovati dvije velike grane: cjelobrojne i decimale; Sada bismo htjeli objasniti vrste numeričkih podataka koje možemo imati u skladu sa situacijom koja nam se predstavlja i šta nam je potrebno:

Numerički cijeli brojevi

Prvo što želimo objasniti u ovom trenutku je da bi opcije za pohranu ove vrste podataka bile godine, količine i veličine bez decimalnih mjesta. Također bismo htjeli predstaviti primjer kako bismo bolje razumjeli koju vrstu podataka trebamo odabrati za svako polje:

Predstavljamo TINYINT, tip podataka koji nam omogućuje pohranu maksimalne vrijednosti 127. Dakle, ako moramo definirati polje za dob naših korisnika, ovo bismo mogli koristiti jer je normalni raspon godina unutar tog broja , i osim ako ne živimo u doba biblijskog Starog zavjeta, nitko nije biološki premašio taj broj; Dakle, ne, ova vrsta podataka ne dopušta nam spremanje 567, na primjer, čak ni 128, ako granica dosegne 127.

Sada, ako želimo definirati polje za identifikator velikog tržišta za prodaju tisuća različitih i raznolikih stvari, to bi se promijenilo eksponencijalno, jasno da nam TINYINT više ne služi, osim toga trebali bismo znati vrlo precizno količinu artikala prodaje, ali ne samo s onim što trenutno imamo, već pokušavajući prognozirati našu blisku budućnost, na ovaj način naš sustav za pohranu neće brzo zastarjeti.

Mogli bismo upotrijebiti nešto poput SMALLINT -a koji će nam omogućiti da brojimo do 32,000 članaka, ali ako promijenimo primjer i pređemo s tržišta na polje za identifikaciju koje bi trebalo koristiti za korisnički stol telefonske kompanije s 5 milijuna korisnika, više nije mogao imati SMALLINT, već neke druge poput MEDIUMINT -a, pa nastavljamo, u slučaju da je naša kompanija imala 200 miliona klijenata, trebali bismo koristiti polje tipa INT. Problem se mijenja u slučaju da postanete hiroviti i želite definirati polje koje identificira svako ljudsko biće koje živi na planeti Zemlji, tada bismo trebali zatražiti pomoć od BIGNIT polja, jer tip INT dopušta samo do dvije hiljade miliona različitih podataka, a to do nas očito ne bi došlo.

Također želimo potvrditi postojanje negativnih vrijednosti, koje bismo mogli pronaći kada želimo sačuvati rezultat igre, ili oznaku ispod nule koju bi tabela, između ostalog, mogla označiti.

Nepotpisane vrijednosti

Pogledajmo to ovako: negativna dob uopće ne bi imala smisla. Ako postoji mogućnost udvostručavanja granice najveće pozitivne vrijednosti svakog podatka, čime se eliminira mogućnost da to polje može pohraniti negativne vrijednosti, udvostručili bismo pozitivnu granicu pohrane i polje tipa TINYINT koje je normalno dopuštalo pohranjivanje vrijednosti Od 127, sada će vam omogućiti spremanje vrijednosti od 0 do 255.

I kako definirati polje koje nema znak? Putem UNSIGNED modifikatora možemo definirati numeričko polje. Koristeći ovo trebali bismo pronaći stupac koji glasi Atributi i vrijednost UNSIGNED i ovo polje više ne može sadržavati negativne vrijednosti, čime se udvostručuje njegov kapacitet skladištenja.

Vrijedi napomenuti da je važno da prilikom definiranja polja u stupcu koje bismo pronašli kao Dužina napišemo broj u skladu s kapacitetom skladišta koji smo upravo odabrali. Nastavljajući s primjerom dobi, ako radimo s TINYNIT -om, moramo staviti trojku kao dužinu, a ne veći ili manji broj.

Brojevi sa decimalnim brojevima

Cijene, plaće, iznosi bankovnih računa, između ostalog, prešli smo na numeričke vrijednosti s decimalnim brojevima i za sobom ostavili cijele brojeve, unatoč činjenici da se ti tipovi podataka nazivaju "pomičnim zarezom" jer zarez razdvaja dio cijeli broj i decimalni dio, zapravo između MySQL tipova podataka, pohranjuje ih odvajajući ih tačkom; odavde bismo imali tri vrste podataka: FLOAT, DVOJNE i DECIMALNE.

FLOAT će nam omogućiti da pohranimo barem vrijednost -999.99, a najviše 999.99. Uzmite u obzir da se znak - ne računa, već tačka koja ih razdvaja, odnosno decimalni zarez, da, zato bi oni ukupno imali šest znamenki, iako napominjemo da su dvije od njih decimalne; Ali imamo nešto što se naziva jednostavan raspon preciznosti, koji nas tjera da imamo decimalne veličine između 0 i 24.

S druge strane, DOUBLE, koji je dvostruko precizniji, dopušta samo definiranje broja decimalnih mjesta između 25 i 23. Korištenje FLOAT -a, što je jednostavna preciznost, moglo bi uzrokovati probleme zaokruživanja i gubitak preostalih decimalnih mjesta. Ono što ostaje za objašnjenje je DECIMALNO, što je najbolje za spremanje novčanih vrijednosti gdje je potrebna manja dužina, ali maksimalna točnost, i bez zaokruživanja, ova vrsta podataka dodjeljuje fiksnu širinu broju koji će pohraniti. Maksimalni ukupni broj znamenki za ovu vrstu podataka je 64, od kojih je 30 najveći dopušteni broj decimalnih mjesta, više nego dovoljno za pohranu cijena, plaća i valuta.

decimalna tačka-1

Alfanumerički podaci

Na kraju ostavljamo kategoriju numeričkih podataka kako bismo unijeli novu. Ovdje ćemo govoriti o pohranjivanju nizova znakova, kako bismo to bolje objasnili, a među tipovima podataka u MySQL -u imamo sljedeće: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM i SET, svaki ima svoje karakteristike i svoje prednosti, ovisno o tome koje podatke želimo pohraniti.

Podaci o datumu i vremenu

Ovo bi bila naša posljednja kategorija kada su u pitanju tipovi podataka u MYSQL -u. Vidjet ćemo da imamo nekoliko mogućnosti za spremanje upućenih podataka, datuma i vremena, uvidjevši razliku između jednog i drugog i njihovu glavnu upotrebu, na ovaj način ćemo moći izabrati odgovarajuću vrstu podataka u svakom slučaju.

DATE

Ova vrsta podataka u MySQL-u omogućuje nam pohranu datuma gdje prve četiri znamenke pripadaju godini, sljedeće dvije mjesecu i posljednje dvije danu, iako smo u zemljama španskog govornog područja navikli da datume prvo naručujemo prema dan, pa mjesec, pa godina, za MYSQL je potpuno obrnuto.

Važno je znati da prilikom čitanja polja DATE, iako se pojavljuje s crticama koje odvajaju godinu od mjeseca i mjesec od dana, prilikom umetanja ovih podataka možemo raditi sve kontinuirano, na primjer, možemo to vidjeti kao ovo: 2018-06-04 i umetnite ga ovako 20180604. Raspon datuma koji nam DATE dopušta obradu je 1000-01-01 do 9999-12-31.

Osim ako nemamo veze sa događajem koji se dogodio prije dvije hiljade godina i moramo to razotkriti, nećemo imati problema s ovim formatom; s druge strane, s pogledom u budućnost imamo više mogućnosti, jer smo s ovim formatom skoro dostigli 10,000 godina.

datetime

Imajući polje definirano kao DATETIME omogućit će nam pohranu podataka ne o datumu, već o trenutku, trenutku vremena, osim datuma, i njegovom rasporedu, prvo bismo imali godinu, zatim mjesec, pa dan , tada bismo imali i sat, minute, pa čak i sekunde, format izgleda ovako:

  • GGGG- MM-DD HH: MM: SS

Dio datuma ima raspon sličan onom tipa DATE (10,000 godina), odnosno od 1000-01-01 do 9999-12-31. Dio rasporeda bi izgledao ovako: od 00:00:00 do 23:53:53. Sve kompletno bi izgledalo ovako: 1000-01-01 00:00:00 do 9999-12-31 23:59:59.

TIME

Ovdje nam je dopušteno pohranjivati ​​sate, minute i sekunde, i da, i prethodni tip podataka je to činio, ali s TIME imamo dozvoljeni raspon koji ide od: -839: 59: 59 do 839: 59: 59; ovo bi trajalo oko 35 dana naprijed i natrag na trenutni datum. Ova vrsta podataka idealna je za izračunavanje proteklih vremena između dva bliska trenutka.

TIMESTAMP

Ovdje imamo tip podataka koji bi mogao biti vrlo sličan DATETIME, ali su njegov format i raspon različiti, iako je još uvijek koristan za spremanje datuma i vremena. Uz polje ovog formata mogu nam se predstaviti tri opcije, prva je: GGGG-MM-DD HH: MM: SS, druga je: GGGG-MM-DD, a treća je jednostavnija: GG-MM-DD .

Ovdje imamo mogućnost dugačke 14, 8 ili 6 znamenki, sve ovisi o podacima koje dajemo. Ovaj format nije niti historijski niti toliko futuristički kao drugi, budući da raspon kojim se ovo polje bavi ide samo od 1970.-01. 01. do 2037. godine.

Osim toga, kao čudna činjenica, možemo ustanoviti da se njegova vrijednost automatski ažurira svaki put kada se zapis unese ili ažurira, na ovaj način ćemo uvijek držati u ovom polju datum i vrijeme zadnjeg ažuriranja tih podataka, što je idealno za preuzimanje kontrole bez potrebe za programiranjem bilo čega.

Ako ovo želimo definirati iz phpMyAdmina, sve što trebamo učiniti je odabrati u Atributima opciju koja kaže "pri ažuriranju" CURRENT_TIMESTAMP i kao zadanu vrijednost CURRENT_TIMESTAMP. Polje čija se vrijednost može automatski ažurirati prilikom umetanja ili izmjene zapisa.

GODINA

U slučaju da moramo uvidjeti potrebu da polje definiramo kao GODINU, možemo pohraniti godinu dana, obje koristeći dvije, kao i četiri znamenke. U slučaju da to radimo s dvije znamenke, od 70 do 99 (imajući od 70 do 99 shvatit ćemo da one odgovaraju rasponu godina od 1970. do 1999., a ako imamo znamenke od 00 do 69 tada možemo razumijemo da se odnosi na godine od 2000. do 2069.), u takvom slučaju davanja četiri znamenke tada bismo otkrili da bi se mogući raspon proširio, pa bi od 1901. do 2155. godine.

Imamo i dodatnu mogućnost, iako nije vezana za tipove podataka u MySQL -u, ali se odnosi na datume i vrijeme. Ova dodatna mogućnost je generiranje vrijednosti vremenske oznake s PHP vremenskom funkcijom (opet želimo pojasniti da više ne govorimo o MYSQL -u, iako se može zbuniti zbog sličnih naziva).

U svakom slučaju, mogli bismo tu vrijednost pohraniti u 10-znamenkasti INT polje, na ovaj način bit će vrlo jednostavno poredati vrijednosti našeg polja (datum vijesti možemo staviti kao primjer), a zatim ćemo može prikazati taj datum pretvaranjem te vremenske oznake vrijednosti u nešto što možemo učiniti čitljivim pomoću PHP -ovih vlastitih funkcija rukovanja datumom.

datum-vrijeme-1

Nadam se da smo s ovim člankom o tipovima podataka u MySQL -u uspjeli učiniti dovoljno jasnim sve što smo htjeli objasniti i da ste naučili kako stvoriti bazu podataka i tablicu prema svim našim podacima, definirajući njihova polja s potpunom preciznošću koristeći ih tipovima podataka i atributa, dakle, u svojstvu ili u uvjetima, da započnemo pravilno programiranje, sada imamo jasnu ideju o tome koji će nam format točno trebati, što odgovara našim potrebama prema onome što morati programirati.

Pozivamo vas da uživate u još jednom od naših članaka vezanih za programiranje: Polimorfizam u objektno orijentisanom programiranju.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: Actualidad Blog
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.