Types de données dans MYSQL à utiliser dans les bases de données

Êtes-vous en train de découvrir les gestionnaires de bases de données ? Dans ce cas, vous devez vous informer sur les types de données dans MySQL, l'un des meilleurs et des plus utilisés au monde. Ne manquez pas l'occasion !.

Types-de-données-dans-Mysql-2

Types de données dans MySQL

Chaque fois que nous devons créer une table qui peut être utilisée pour stocker des données pour une application, nous devons savoir identifier quel type de données nous aide à mieux stocker tout ce que nous devons archiver. Nous pouvons choisir entre trois : données numériques, chaînes (alphanumériques) et dates et heures.

Dans ces champs des tables MYSQL nous avons la possibilité de choisir entre trois types de contenu, et bien que cela semble évident, déterminer où envoyer nos données, à quel type de groupe le stockage appartiendra, ici nous avons un exemple à nous mettre en contexte : oui nous avons besoin d'un champ avec lequel nous pouvons stocker l'âge d'une personne, alors ce serait un champ de données numériques.

Mais avant de continuer à expliquer, savez-vous ce qu'est MySQL ? Il est connu comme l'un des gestionnaires de bases de données open source les plus utilisés au monde. Pour que nous puissions avoir une idée de sa popularité, nous vous dirons que : WordPress est le gestionnaire de différents types de contenu, qui existe depuis 2003, et qu'environ 55% à 60% des pages web qui existent, sont créés grâce à cela, et il utilise MySQL comme base de données, ce qui prouve à quel point il peut être utile et la portée qu'il a.

MySQL appartient à la société Oracle Corporation, qui s'est chargée de l'acheter en 2010. Ce gestionnaire a de multiples usages, tels que : s'entraîner, effectuer des installations, modifier des pages Web, lire des données, entre autres.

Ce pilote est facilement téléchargeable et dispose de plusieurs versions selon le Windows que vous utilisez, de la même manière, il est très simple à installer.

La grande majorité des pilotes de base de données sont utilisés via un langage de programmation. Disons que par exemple, les informations que nous avons sur nos ordinateurs sont disponibles dans la base de données, mais lorsque nous devons les visualiser et les gérer, elle utilise un langage de programmation ; Dans le cas de MySQL, il est accompagné de php, qui est connu comme un langage de développement Web, le même avec lequel WordPress est développé.

Nous supposons que nous pouvons recommander, pour la vitesse, de télécharger l'outil XAMPP, qui est disponible pour différentes versions de Windows. XAMPP est livré avec une série de composants, parmi lesquels nous avons :

  • Apache : Ce serait un serveur Web.
  • PHP : Le langage de développement Web.
  • Fillezilla : Il est en charge de la mobilisation des dossiers.
  • Mercury : C'est le serveur de messagerie, qui a pour but de faire les tests.
  • MySQL : Comme nous l'avons mentionné précédemment, il s'agit du serveur de base de données.

Après avoir installé XAMPP, vous pourrez profiter de tous ces composants, y compris MySQL, que vous pouvez démarrer directement et connecter à l'interface graphique, c'est pourquoi XAMPP est extrêmement utile, en plus d'avoir les autres composants.

Ayant tout cela clair, nous voulions expliquer que dans nos options pour les types de tableaux pour stocker nos données, et en parlant du champ de données numériques, dans ce même nous avons d'autres types, et nous devons savoir lequel serait le meilleur, lequel serait nous donnera la possibilité de consommer moins d'espace de stockage physique et nous donnera la possibilité de données que nous espérons stocker dans ce domaine. La seule façon de comprendre ces questions est les différents types de données que MySQL nous fournit, ci-dessous nous fournirons ces informations afin de comprendre les utilisations les plus appropriées de chaque groupe.

Nous vous invitons à voir un cours intensif sur les types de données dans MySQL et tout ce que vous devez savoir à ce sujet, dans la vidéo ci-dessous. Ne manquez pas l'occasion d'apprendre ! :

Donnees numeriques

La différence que l'on pourrait trouver entre un type de données et un autre dans MySQL est simplement la plage de valeurs qu'elle peut contenir. Au sein des données numériques, nous devons voir que nous pouvons distinguer deux grandes branches : les nombres entiers et les nombres décimaux ; Maintenant, nous aimerions expliquer les types de données numériques que nous pouvons avoir selon la situation qui nous est présentée et ce dont nous avons besoin :

Entiers numériques

La première chose que nous voulons expliquer à ce stade est que les options dont nous disposons pour stocker ce type de données seraient les âges, les quantités et les magnitudes sans décimales. Nous aimerions également présenter un exemple pour mieux comprendre quel type de données nous devrions choisir pour chaque champ :

Nous présentons TINYINT, un type de données qui nous permet de stocker une valeur maximale de 127. Donc, si nous devons définir un champ pour l'âge de nos utilisateurs, c'est celui que nous pourrions utiliser, car la tranche d'âge normale se situe dans ce nombre , et à moins que nous ne vivions à l'époque de l'Ancien Testament biblique, personne n'a biologiquement dépassé ce nombre ; Alors non, ce type de données ne nous permet pas d'en stocker 567, par exemple, même pas 128, si la limite atteint 127.

Maintenant, si nous voulons définir un champ pour un identifiant d'un grand marché pour vendre des milliers de choses différentes et variées, cela changerait de façon exponentielle, clairement TINYINT ne nous sert plus, en plus de cela nous devrions connaître très précisément la quantité d'articles il se vend, mais pas seulement avec ce que nous avons actuellement, mais en essayant de faire une prédiction pour notre avenir proche, de cette façon notre système de stockage ne deviendra pas rapidement obsolète.

Nous pourrions utiliser quelque chose comme SMALLINT qui nous permettra de numéroter jusqu'à 32,000 5 articles, mais si nous changeons l'exemple et passons d'un marché à un champ ID qui devrait être utilisé pour une table client d'une compagnie de téléphone avec 200 millions d'utilisateurs, nous ne pouvait plus avoir de SMALLINT, mais d'un autre comme MEDIUMINT, et nous continuons, dans le cas où notre société avait XNUMX millions de clients, nous devrions utiliser un champ de type INT. La question change dans le cas de devenir capricieux et de vouloir définir un champ qui identifie chacun des êtres humains qui vivent sur la planète terre, alors nous devrions demander de l'aide à un champ BIGNIT, car le type INT ne permet que jusqu'à deux mille millions de différentes données, et cela ne nous parviendrait manifestement pas.

On veut aussi confirmer l'existence de valeurs négatives, que l'on pourrait trouver en voulant sauvegarder le score d'un jeu, ou la marque en dessous de zéro qui pourrait marquer un tableau, entre autres.

Valeurs non signées

Voyons les choses de cette façon : avoir un âge négatif n'aurait aucun sens. S'il y a la possibilité de doubler la limite de la valeur positive maximale de chaque donnée en éliminant la possibilité que ce champ puisse stocker des valeurs négatives, nous doublerions la limite positive de stockage, et le champ de type TINYINT qui permet normalement de stocker des valeurs ​​de 127, vous permettra maintenant de stocker des valeurs de 0 à 255.

Et comment définissons-nous un champ qui n'a pas de signe ? Grâce au modificateur UNSIGNED, nous pouvons définir un champ numérique. En utilisant cela, nous devrions trouver une colonne qui lit Attributs et la valeur de UNSIGNED et ce champ ne peut plus contenir de valeurs négatives, doublant ainsi sa capacité de stockage.

Il convient de mentionner qu'il est important que lors de la définition d'un champ dans la colonne que nous trouverions comme Longueur, nous écrivions un nombre cohérent avec la capacité de stockage que nous venons de choisir. En continuant avec l'exemple de l'âge, si nous travaillons avec TINYNIT, nous devons mettre un trois comme longueur, pas un nombre supérieur ou inférieur.

Nombres avec décimales

Prix, salaires, montants des comptes bancaires, entre autres, nous sommes passés à des valeurs numériques avec des décimales et nous avons laissé des entiers, et malgré le fait que ces types de données soient appelés "virgule flottante" car la virgule sépare la partie entier et la partie décimale, en fait entre les types de données MySQL, il les stocke en les séparant par un point ; à partir de là, nous aurions trois types de données : FLOAT, DOUBLE et DECIMAL.

FLOAT nous permettra de stocker au moins la valeur -999.99 et au plus 999.99. Tenons compte du fait que le signe - ne compte pas, mais le point qui les sépare, c'est-à-dire la virgule décimale, oui, c'est pourquoi ils seraient six chiffres au total, même si nous notons que deux d'entre eux sont des décimales; Mais nous avons ce qu'on appelle une plage de précision simple, qui nous oblige à avoir des quantités décimales comprises entre 0 et 24.

D'autre part, DOUBLE, étant deux fois plus précis, ne permet de définir le nombre de décimales qu'entre 25 et 23. L'utilisation de FLOAT, qui est une précision simple, pourrait entraîner des problèmes d'arrondi et la perte des décimales restantes. Celui qui reste à expliquer est DECIMAL, qui est le meilleur pour stocker des valeurs monétaires où moins de longueur est requise mais une précision maximale, et sans arrondir, ce type de données attribue une largeur fixe au nombre à stocker. Le nombre total maximum de chiffres pour ce type de données est de 64, dont 30 sont le nombre maximum de décimales autorisées, plus que suffisant pour stocker les prix, les salaires et les devises.

virgule-décimale-1

Données alphanumériques

Enfin, nous quittons la catégorie des données numériques pour en entrer une nouvelle. Ici, nous allons parler du stockage des chaînes de caractères, pour mieux l'expliquer, et parmi les types de données dans MySQL, nous avons les suivants : CHAR, VARCHAR, BINARY, VARBINARY, TINYBLOB, TINYTEXT, BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT , ENUM et SET, chacun a ses propres caractéristiques et ses propres avantages en fonction des données que nous voulons stocker.

Données de date et d'heure

Ce serait notre dernière catégorie en ce qui concerne les types de données dans MYSQL. Nous verrons que nous avons plusieurs options pour stocker les données, les dates et les heures référencées, en voyant la différence entre l'une et l'autre et leurs utilisations principales, de cette manière nous pourrons choisir le type de données approprié dans chaque cas.

DATES

Ce type de données dans MySQL nous permet de stocker des dates où les quatre premiers chiffres appartiendraient à l'année, les deux suivants au mois et les deux derniers au jour, bien que dans les pays hispanophones, nous avons l'habitude de commander les dates en premier. par jour, puis pour le mois, et puis pour l'année, pour MYSQL c'est complètement l'inverse.

Il est important de savoir que lors de la lecture d'un champ DATE, bien qu'il apparaisse avec des tirets séparant l'année du mois et le mois du jour, lors de l'insertion de ces données, cela nous permet de tout faire en continu, par exemple, nous pouvons le voir comme ceci : 2018-06-04 et insérez-le comme ceci 20180604. La plage de dates que DATE nous permet de gérer va du 1000-01-01 au 9999-12-31.

À moins que nous ayons quelque chose à voir avec un événement qui s'est produit il y a deux mille ans et que nous ayons besoin de l'exposer, nous n'aurons aucun problème avec ce format ; d'autre part, en vue de l'avenir, nous avons plus d'opportunités, car avec ce format, nous avons presque atteint l'an 10,000 XNUMX.

Datetime

Avoir un champ défini comme DATETIME nous permettra de stocker des informations non pas d'une date, mais d'un moment, un instant de temps, en dehors de la date, également son horaire, d'abord nous aurions l'année, puis le mois, puis le jour , alors nous aurions aussi l'heure, les minutes et même les secondes, le format ressemble à ceci :

  • AAAA- MM- JJ HH : MM : SS

La partie date a une plage similaire à celle du type DATE (10,000 1000 ans), c'est-à-dire de 01-01-9999 à 12-31-00. La partie de l'horaire se déroulerait comme ceci : de 00:00:23 à 53:53:1000. Tout ce qui est complet ressemblerait à ceci : 01-01-00 00:00:9999 à 12-31-23 59:59:XNUMX.

Ici, nous sommes autorisés à stocker des heures, des minutes et des secondes, et oui, le type de données précédent l'a fait aussi, mais avec TIME nous avons une plage autorisée qui va de : -839: 59: 59 à 839: 59: 59; cela s'étendrait sur environ 35 jours aller-retour à une date actuelle. Ce type de données est idéal pour calculer les temps écoulés entre deux instants proches.

TIMESTAMP

Ici, nous avons un type de données qui pourrait être très similaire à DATETIME mais son format et sa plage sont différents, bien qu'il soit toujours utile pour stocker une date et une heure. Avec le champ de ce format trois options peuvent nous être présentées, la première est : AAAA-MM-JJ HH : MM : SS, la seconde est : AAAA-MM-JJ, et la troisième est plus simple : AA-MM-JJ .

Ici nous avons la possibilité d'avoir une longueur possible de 14, 8 ou 6 chiffres, tout dépend des informations que nous fournissons. Ce format n'est ni aussi historique ni aussi futuriste que les autres, puisque la plage que traite ce domaine ne va que du 1970-01-01 à l'an 2037.

De plus, comme un fait curieux, nous pouvons établir que sa valeur est maintenue automatiquement mise à jour chaque fois qu'un enregistrement est inséré ou mis à jour, de cette manière nous conserverons toujours dans ce champ la date et l'heure de notre dernière mise à jour de ces données, qui est vraiment idéal pour prendre le contrôle sans avoir à programmer quoi que ce soit.

Si nous voulons définir cela à partir de phpMyAdmin, tout ce que nous avons à faire est de sélectionner dans Attributs l'option qui dit "on update" CURRENT_TIMESTAMP, et comme valeur par défaut CURRENT_TIMESTAMP. Champ dont la valeur peut être mise à jour automatiquement lors de l'insertion ou de la modification d'un enregistrement.

ANNÉE

Dans le cas où nous devons définir un champ comme ANNÉE, nous pouvons stocker une année, en utilisant à la fois deux et quatre chiffres. Dans le cas où nous le faisons en deux chiffres, de 70 à 99 (ayant 70 à 99, nous comprendrons que ceux-ci correspondent à la plage d'années de 1970 à 1999, et si nous avons les chiffres de 00 à 69 alors nous pouvons comprendre qui fait référence aux années 2000 à 2069), dans un tel cas de fournir les quatre chiffres, nous constaterions que la plage possible s'étendrait, passant alors de 1901 à 2155.

Nous avons également une possibilité supplémentaire, bien que sans rapport avec les types de données dans MySQL, mais liée aux dates et aux heures. Cette possibilité supplémentaire consiste à générer une valeur d'horodatage avec la fonction de temps PHP (encore une fois, nous voulons préciser que nous ne parlons plus de MYSQL, bien qu'il soit valable de se confondre en raison d'avoir des noms assez similaires).

Quoi qu'il en soit, nous pourrions stocker cette valeur dans un champ INT à 10 chiffres, de cette façon, il sera très simple d'ordonner les valeurs de notre champ (nous pouvons mettre la date d'une nouvelle à titre d'exemple) et ensuite nous peut afficher cette date en transformant cette valeur d'horodatage en quelque chose que nous pouvons rendre lisible en utilisant les propres fonctions de gestion de date de PHP.

date-heure-1

J'espère qu'avec cet article sur les types de données dans MySQL, nous avons pu rendre tout ce que nous voulions expliquer suffisamment clair et que vous avez appris à créer une base de données et une table en fonction de toutes nos informations, en définissant avec une précision totale leurs champs en utilisant les types de données et les attributs, donc, pouvoir, ou dans les conditions, commencer à programmer correctement, avoir maintenant une idée claire du format dont nous allons avoir besoin, qui correspond à notre besoin en fonction de ce que nous devons programmer .

Nous vous invitons à profiter d'un autre de nos articles liés à la programmation : Polymorphisme en programmation orientée objet.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Blog Actualidad
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.