Tipus de dades en MYSQL per emprar en base de dades

¿Aquestes aprenent sobre gestors de base de dades? En aquest cas, necessites informar-te sobre els tipus de dades en MySQL, un dels millors i més usats en el món No perdis l'oportunitat !.

Tipus-de-dades-a-Mysql-2

Tipus de dades en MySQL

Cada vegada que necessitem crear una taula que serveixi per guardar dades d'una aplicació, hem de saber identificar quin tipus de dades ens serveixen per emmagatzemar millor tot el que ens vegem en la necessitat d'arxivar. Podem escollir entre tres: dades numèriques, cadenes (alfanumèric), i dates i hores.

En aquests camps de les taules MYSQL tenim la possibilitat de triar entre tres tipus de contingut, i encara que sembli una cosa òbvia, determinar a on enviar les nostres dades, a quin tipus de grup pertanyerà l'emmagatzematge, aquí tenim un exemple per a posar-nos en context: si ens cal un camp amb el qual puguem emmagatzemar l'edat d'una persona, llavors seria un camp de dada numèrica.

Però abans de seguir explicant, Saps el que és el MySQL? Se li coneix com un dels gestors de base de dades amb codi obert més usats en el món. Perquè puguem tenir una idea del popular que és, et direm que: WordPress és el gestor de diferents tipus de contingut, el qual existeix des del 2003, i que al voltant de 55% a 60% de les pàgines web que existeixen, estan fetes gràcies a això, i aquest fa servir el MySQL com a base de dades, així que això prova la utilitat que pot arribar a ser i l'abast que té.

MySQL li pertany a la companyia Oracle Corporation, que van ser els encarregats de comprar-lo al 2010. Aquest gestor té múltiples usos, com ara: pràctiques, realitzar instal·lacions, modificar pàgines web, lectura de dades, entre d'altres.

Aquest gestor pot ser fàcilment descarregada i compta amb diverses versions depenent de l'Windows que utilitzeu, de la mateixa manera, és molt senzill instal·lar-lo.

La gran majoria dels controladors de base de dades s'usen a través d'un llenguatge de programació. Diguem que per exemple, la informació que nosaltres tenim al nostre ordinador, es troba disponible a la base de dades, però a l'hora que necessitem mostrar-la i manejar-la, aquesta utilitza un llenguatge de programació; en el cas de MySQL, ve acompanyat del PHP, la qual cosa se li coneix com un llenguatge de desenvolupament web, el mateix amb el qual es desenvolupa WordPress.

Suposem que podem recomanar, per a major rapidesa, descarregar l'eina XAMPP, la qual està disponible per a diverses versions de Windows. El XAMPP ve amb una sèrie de components, entre ells tenim:

  • Apache: Aquest vindria sent un servidor web.
  • PHP: El llenguatge de desenvolupament web.
  • FileZilla: És l'encarregat de mobilitzar els arxius.
  • Mercury: És el servidor de correu, el qual té la finalitat de fer els tests.
  • MySQL: Com hem dit anteriorment, és el servidor de bases de dades.

Després d'instal·lar el XAMPP, podràs gaudir de tots aquests components, incloent el MySQL, el qual pots iniciar directament i connectar-te a la interfície gràfica, per això XAMPP és que és summament útil, a més de comptar amb els altres components.

Tenint tot això clar, volíem explicar que dins de les nostres opcions per a tipus de taules per emmagatzemar les nostres dades, i parlant de el camp de dada numèrica, dins d'aquest mateix tenim altres tipus, i hem de saber quin seria el millor, quin ens donaria l'oportunitat de consumir menys espai d'emmagatzematge físic i ens brindarà l'oportunitat de dades que esperem emmagatzemar en aquest camp. L'única manera de comprendre aquestes qüestions és els diferents tipus de dades que MySQL ens brinda, a continuació estarem brindant aquesta informació per poder entendre els usos més apropiats de cada grup.

Et convidem a veure un curs intensiu sobre els tipus de dades en MySQL i tot el que cal saber sobre aquest, al vídeo a continuació No perdis l'oportunitat d'aprendre !:

dades numèriques

La diferència que podríem trobar entre un i altre tipus de dades en MySQL és senzillament el rang de valors que estigui pugui contenir. Dins de les dades numèriques necessitem veure què podem distingir dos grans branques: sencers i decimals; ara, ens agradaria explicar els tipus de dades numèriques dels que podem disposar segons la situació que se'ns presenti i el que necessitem:

numèrics sencers

El primer que volem explicar ia arribats a aquest punt, és que les opcions que tenim per emmagatzemar aquest tipus de dades vindrien sent edats, quantitats i magnituds sense decimals. També ens agradaria presentar un exemple per donar a comprendre millor quin tipus de dada ens convé triar per a cada camp:

Et presentem TINYINT, un tipus de dada que ens permet emmagatzemar com a màxim el valor de 127. Llavors si necessitem definir un camp per a l'edat dels nostres usuaris, aquest és el que podríem fer servir, perquè el rang normal d'edat està dins d'aquest nombre , i llevat que estiguem vivint en l'època de l'antic testament bíblic, ningú biològicament sobrepassava aquest nombre; llavors no, aquest tipus de dada no ens permet emmagatzemar en 567, per exemple, ni tan sols un 128, si límit arriba a 127.

Ara, si volem definir un camp d'un testimoni d'un gran mercat de vendre milers de coses diferents i variades, això canviaria exponencialment, clarament TINYINT ja no ens serveix, a més d'això hauríem de conèixer amb molta precisió la quantitat d'articles que comercialitza, però no només amb el que tenim actualment, sinó intentant fer una predicció per al nostre futur proper, d'aquesta manera el nostre sistema d'emmagatzematge no quedarà obsolet ràpidament.

Podríem fer servir alguna cosa com smallint que ens permetrà numerar fins 32,000 articles, però si canviem d'exemple i ens movem d'un mercat a un camp ID que s'hagi d'utilitzar per a una taula de clients d'una empresa telefònica amb 5 milions d'usuaris, ja no podríem disposar de smallint, sinó d'algun altre com MEDIUMINT, i seguim, en el cas que la nostra empresa tingués 200 milions de clients, hauríem d'usar un camp de tipus INT. L'assumpte canvia en el cas de posar-nos capritxosos i voler definir un camp que identifiqui cada un dels éssers humans que vivim al planeta terra, llavors hauríem demanar-li ajuda a un camp BIGNIT, ja que els de tipus INT només permeten fins a dos mil milions de dades diferents, i això clarament no ens arribaria.

També volem confirmar l'existència de valors negatius, que podríem trobar a l'voler guardar la puntuació d'un joc, o la marca sota zero que podria marcar una taula, entre altres coses.

Valors sense signe

Vegem-ho de la següent manera: tenir una edat negativa no tindria res de sentit. Si hi ha la possibilitat de duplicar el límit de la valor màxim positiu de cada dada eliminant la possibilitat que aquest camp pugui emmagatzemar valors negatius, estaríem duplicant el límit positiu d'emmagatzematge, i el camp de tipus TINYINT que normalment permetia emmagatzemar valors de 127, ara deixarà emmagatzemar valors de el 0 a l'255.

I com definim un camp que no té signe? Mitjançant el modificador UNSIGNED que podem definir a un camp numèric. Usant aquest ens hauríem de trobar amb una columna que llegeixi Atributs i el valor de UNSIGNED i aquest camp ja no podrà contenir valors negatius, duplicant llavors la seva capacitat d'emmagatzematge.

No està de més esmentar que és important que en el moment de definir un camp a la columna que ens trobaríem com Longitud escrivim un nombre coherent amb la capacitat d'emmagatzematge que acabem de triar. Seguint amb l'exemple de l'edat, si estem treballant amb TINYNIT, hem de col·locar com longitud un XNUMX, no un nombre major ni menor.

Nombres amb decimals

Preus, salaris, imports de comptes bancaris, entre altres, ens hem traslladat als valors numèrics amb decimals i hem deixat enrere els nombres enters, i tot i que aquests tipus de dades es diuen «de coma flotant» perquè la coma separa la part sencera i la part decimal, en realitat entre els tipus de dades MySQL, els emmagatzema separant-los amb un punt; a partir d'aquí disposaríem de tres tipus de dades: FLOAT, DOUBLE I DECIMAL.

FLOAT ens permetrà emmagatzemar com a mínim el valor -999.99 i com a màxim 999.99. Prenguem en compte que el signe - no compta, però el punt que els separa, és a dir, el punt decimal, sí, per això serien 0 dígits en total, encara que notem que dos d'ells siguin decimals; però tenim una cosa anomenada rang de precisió simple, el que ens obliga que les quantitats decimals estiguin entre 24 i XNUMX.

En canvi DOUBLE, a l'ésser de l'doble de precisió, només permet que la quantitat de decimals es defineixi entre 25 i 23. Utilitza FLOAT que és de simple precisió podria portar problemes d'arrodoniment i pèrdua dels decimals restants. El que ens queda per explicar és DECIMAL, que és el millor per a emmagatzemar valors monetaris on es requereixi menor longitud però la màxima exactitud, i sense arrodoniments, aquest tipus de dades li assigna una amplada fixa a la xifra que emmagatzemarà. El màxim de dígits totals per a aquest tipus de dades és de 64, dels quals 30 és el nombre de decimals màxim permès, més que suficient per emmagatzemar preus, salaris i monedes.

punt-decimal-1

dades alfanumèrics

Finalment ens vam sortir de la categoria de dades numèriques per entrar a una de nova. Aquí estarem parlant d'emmagatzemar cadenes de caràcters, per explicar-ho d'millor manera, i entre els tipus de dades en MySQL posseïm els següents: CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT , ENUM i SET, cadascun té les seves pròpies característiques i les seves pròpies avantatges depenent de quines dades vulguem emmagatzemar.

Dades de data i hora

Aquesta seria la nostra última categoria pel que fa a tipus de dades en MYSQL concerneix. Estarem veient que tenim diverses opcions per emmagatzemar dades referides, dates i hores veient la diferència entre un i altre i els seus usos principals, d'aquesta manera estarem en la capacitat d'escollir el tipus de dada apropiat en cada cas.

DATA

Aquest tipus de dades en MySQL ens permet emmagatzemar dates on els quatre primers números pertanyerien a l'any, els dos següents a el mes i els últims dos per al dia, encara que en els països de parla hispana estiguem acostumats a ordenar les dates primer pel dia, després pel mes, i després per l'any, per al MYSQL és completament a l'inrevés.

És important saber que a l'llegir un camp DATE, encara que ens aparegui amb guions separant l'any del mes i el mes de el dia, a l'hora d'inserir aquestes dades ens permet fer-ho tot continu, per exemple, podem veure-ho així: 2018 i inserir així 06. el rang de dates que DATE ens permet gestionar és 04 fins al 20180604-1000-01.

Llevat que tinguem alguna relació amb algun esdeveniment succeït fa dos mil anys i necessitem exposar-lo, no tindrem problemes amb aquest format; d'altra banda, amb vista cap al futur tenim més oportunitats, ja que amb aquest format arribem gairebé fins a l'any 10,000.

DATA I HORA

Tenint un camp definit com DATETIME ens permetrà emmagatzemar informació no d'una data, sinó d'un moment, un instant de temps, a part de la data, també el seu horari, primer tindríem l'any, després el mes, després el dia, després també hauríem l'hora, els minuts, i fins i tot els segons, el format es veu així:

  • AAAA- MM- DD HH: MM: SS

La part de la data té un rang similar al de l'tipus DATE (10,000 anys) o sigui, des del 1000 a l'01-01-9999. La part de l'horari aniria així: de 12:31:00 a 00:00:23. Tot complet es veuria així: 53 53:1000:01 fins 01-00-00 00:9999:12.

TIME

Aquí tenim permès emmagatzemar hores, minuts i segons, i sí, el tipus de dada anterior també ho feia, però amb TIME tenim un rang permès que va des de: -839: 59: 59-839: 59: 59; això vindria abastant uns 35 dies cap enrere i cap endavant en una data actual. Aquest tipus de dada és ideal per calcular temps transcorreguts entre dos moments propers.

MARCA DE TEMPS

Aquí tenim un tipus de dada que podria ser molt semblant a DATETIME però el seu format i rang són diferents, encara que segueix essent-útil per emmagatzemar una data i un horari. Amb el camp d'aquest format poden presentar-se'ns tres opcions, la primera ve sent: AAAA- MM- DD HH: MM: SS, la segona és: AAAA- MM- DD, i la tercera és més simple: AA- MM- DD.

Aquí tenim la possibilitat de tenir una longitud possible de 14, 8 o 6 dígits, tot depèn de la informació que proporcionem. Aquest format no és ni tan històric ni tan futurista com els altres, ja que el rang que maneja aquest camp només va des 1970 fins a l'any 01.

A més, com a dada curiosa, podem establir que el seu valor es mantingui actualitzat automàticament cada vegada que s'insereixi o s'actualitzi un registre, d'aquesta manera sempre conservarem en aquest camp la data i hora de la nostra última actualització d'aquesta dada, que és realment ideal per portar el control sense tenir la necessitat de programar res.

Si volem definir això des del phpMyAdmin, tot el que hem de fer és seleccionar a Atributs l'opció que diu «on update» CURRENT_TIMESTAMP, i com el valor predeterminat CURRENT_TIMESTAMP. Camp el valor es podrà actualitzar automàticament a l'inserir o modificar un registre.

ANY

En el cas que haguem de veure'ns en la necessitat de definir un camp com YEAR, podrem emmagatzemar un any, tant utilitzant dos, com també quatre dígits. En el cas que ho fem en dos dígits, des de 70 fins 99 (a l'haver de l'70 a l'99 entendrem que aquests corresponen a la franja d'anys des de 1970 fins a 1999, i si tenim els dígits des del 00 fins al 69 llavors podrem entendre que es refereix als anys 2000 a 2069), en aquest cas de proporcionar els quatre dígits llavors ens trobaríem amb que el rang possible s'ampliaria, llavors anant des de 1901 fins 2155.

Tenim també una possibilitat extra, encara que aliena als tipus de dades en MySQL, però relativa a les dates i els horaris. Aquesta possibilitat extra és generar un valor de timestamp amb la funció time de PHP (de nou volem aclarir que ja no estem parlant de MYSQL, encara que és vàlid confondre a causa de tenir noms bastant similars).

En fi, a aquest valor el podríem emmagatzemar en un camp INT de 10 dígits, d'aquesta manera, serà molt simple ordenar els valors del nostre camp (podem posar com a exemple la data d'una notícia) i després podrem mostrar aquesta data transformant aquest valor de timestamp en alguna cosa que puguem fer llegible mitjançant funcions de maneig de dates pròpies de PHP.

data-hora-1

Espero que amb aquest article sobre els tipus de dades en MySQL, hàgim pogut deixar prou clar tot el que preteníem explicar i hagis après a crear una base de dades i una taula segons tota la nostra informació, definint amb una total precisió els seus camps valiéndolos de tipus de dades i atributs, per tant, estant en la capacitat, o en les condicions, de començar a programar de manera adequada, ara tenint clar exactament quin format necessitarem, que s'ajusti a la nostra necessitat segons el que hem de programar .

Et convidem a gaudir un altre del nostre articles referents a la programació: Polimorfisme en programació orientada a objectes.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Actualitat Bloc
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.