nouvelles
Serverspace Technologies aux Emirats Arabes Unis : Lancement de Falconcloud
RF
4 octobre 2023
Mise à jour Octobre 2, 2023

Types de données dans MySQL

Bases de données Debian

Introduction

Il existe différents domaines dans notre monde dotés d'un système d'information et chacun d'entre eux nécessite efficacité, stabilité et désirabilité.apirapidité de travail. Mais il est impossible de traiter les données dans un seul format. Nous devons parfois utiliser du texte, des données numériques ou même un ensemble d'informations mixtes. Pour cela les gens ont développé des types de données et dans les différents exemples de SGBD, ils les ont distingués. Nous les considérerons tous pour MySQL système et en choisissant les données appropriées pour différents cas.

Comment choisir le type ?

Dans la documentation officielle, vous pouvez voir un tas d'informations différentes, mais nous pouvons catégoriser toutes les données pour paramParamètres : type, vitesse d'utilisation des données, stockage effectué et précision des valeurs contenues. Chacune des données définies a sa configuration. Au moment de décider du type de données approprié, il est conseillé d'opter pour l'option la plus compacte, capable de répondre à vos besoins spécifiques en matière de données. Cette approche permet non seulement de conserver le stockage space mais améliore également les performances globales du système.

Dans les cas où la longueur des données varie, comme dans le cas des descriptions de produits, il est recommandé d'utiliser un type de données de longueur variable tel que VARCHAR. Pour les données exceptionnellement volumineuses, telles que les fichiers vidéo, l'utilisation d'un type de données binaire tel que LONGBLOB est le choix optimal.
De plus, lorsqu’il s’agit de données nécessitant des recherches ou des tris fréquents, il est crucial de sélectionner un type de données optimisé pour ces opérations. Par exemple, le type de données CHAR surpasse VARCHAR lors de la comparaison efficace des chaînes.

Types numériques

L'un des types de données les plus couramment utilisés représente divers ensembles de plages. Tout d'abord, c'est un nombre entier, il y a 5 types d'utilisation allant du plus petit au plus grand.

Range of integer
Capture d'écran №1 — Plage d'entiers

Nous pouvons le faire en utilisant plusieurs commandes :

USE your_database
CREATE TABLE t1 (c1 TINYINT, c2 BIGINT);
Table of integer
Capture d'écran №2 — Tableau d'entiers

Entrez ensuite les données nécessaires dans votre table à l'aide de la commande ci-dessous :

INSERT INTO t1 (c1, c2) VALUES(127, 256);

Après cela, nous devons nous assurer de l’apparence des données dans le tableau. Si vous souhaitez utiliser une plage sans nombres négatifs, indiquez l'option NON SIGNÉ.

SELECT c1, c2 FROM t1;
Result of integer
Capture d'écran №3 — Résultat d'un entier

La forme ou le masque du tableau peut être vérifié en tapant cette commande :

DESCRIBE t1;

Souligner! N'oubliez pas de remplacer t1 par le nom de votre table !

Description of table
Capture d'écran №4 — Description du tableau

L'attribut UNSIGNED offre deux avantages principaux :

  • Plage de valeurs étendue : lorsque vous utilisez l'attribut UNSIGNED avec des colonnes numériques, vous pouvez prendre en charge un spectre plus large de valeurs par rapport à leurs homologues signés. Par exemple, une colonne UNSIGNED TINYINT autorise des valeurs comprises entre 0 et 255, alors qu'une colonne TINYINT signée limite les valeurs entre -128 et 127 ;
  • Performances améliorées : l'utilisation de colonnes numériques NON SIGNÉES peut améliorer l'efficacité d'opérations spécifiques, telles que le tri et la recherche. Cette amélioration provient du fait que les colonnes numériques UNSIGNED nécessitent moins de bits pour la représentation par rapport à leurs homologues signées.

Néanmoins, il y a quelques considérations à garder à l’esprit lors de l’utilisation de l’attribut UNSIGNED :

  • Débordement potentiel : tenter d'insérer une valeur supérieure à la plage autorisée dans une colonne numérique NON SIGNÉE entraînera un débordement, entraînant la troncature de la valeur. Par exemple, insérer 256 dans une colonne UNSIGNED TINYINT provoquera un débordement, réduisant la valeur à 0 ;
  • Compatibilité : il est essentiel de noter que tous les systèmes de bases de données ne prennent pas en charge l'attribut UNSIGNED. Si vous avez besoin d'une compatibilité avec plusieurs systèmes de bases de données, il est conseillé d'éviter d'utiliser l'attribut UNSIGNED.

Dans le SGBD pour utiliser cette option, saisissez :

ALTER TABLE t1 ADD COLUMN c3 INT UNSIGNED;
DESCRIBE t1;
Unsigned
Capture d'écran №5 — Non signé

Considérez ces scénarios comme des exemples du moment où utiliser chaque type de données.

Flotte:

  • Représentant des coordonnéesnates d'un point sur un écran;
  • Exprimer la température ambiante ;
  • Indique la distance entre deux villes.

Double:

  • Calculer les résultats financiers ;
  • Enregistrer les résultats des calculs scientifiques ;
  • Suivi des positions des objets dans un environnement de jeu 3D.

Décimal:

  • Gérer les valeurs des devises ;
  • Manipulation des mesures dans des contextes d'ingénierie et scientifiques ;
  • Exprimer les pourcentages avec précision.

Entier:

  • Stockage des codes d'état ;
  • Stockage des valeurs d'énumération ;
  • Stockage des clés étrangères.

Types de chaînes

Dans le MySQL nous pouvons utiliser des types de chaîne pour stocker des données texte, mais parfois nous ne savons pas dans quelle mesure space de longueur ils seront. Il existe donc deux types de données de stockage variables et fixes. Un type de chaîne spécifique dans MySQL est CHAR, qui entre dans la catégorie de longueur fixe. Lorsque vous définissez une colonne CHAR dans une table de base de données, vous spécifiez sa longueur, indiquant le nombre de caractères qu'elle peut contenir. Par exemple, si vous créez une colonne CHAR d'une longueur de 10, elle stockera toujours exactement 10 caractères, même si vous en saisissez moins.

ALTER TABLE t1 ADD COLUMN string1 CHAR(10);

Vérifiez ensuite le résultat de la saisie de la commande :

DESCRIBE t1;
String type
Capture d'écran №6 — Type de chaîne
  • VARCHAR, contrairement à CHAR, est un type chaîne dans MySQL connu pour sa caractéristique de longueur variable. Pendant que vous conceveznatEn ce qui concerne la longueur maximale d'une colonne VARCHAR lors de sa création, la longueur réelle de la colonne peut changer en fonction des données qu'elle contient. À titre d'exemple, considérons cette instruction SQL, qui établit une table comportant une colonne VARCHAR capable de contenir un maximum de 100 caractères. Le système est configuré de la même manière que tout type décrit ci-dessus.
  • TINYTEXT : Conçu pour les entrées de texte relativement concises, TINYTEXT peut contenir jusqu'à 255 caractères. Il trouve son utilité dans les scénarios où des descriptions textuelles ou des noms succincts sont impliqués.
  • TEXTE : Conçu pour accueillir un contenu textuel plus substantiel, TEXTE peut contenir un maximum de 65,535 XNUMX caractères. Il est fréquemment choisi pour héberger des passages de texte étendus, tels que des articles, des commentaires ou des documents.
  • MEDIUMTEXT : adapté à des ensembles de données textuelles encore plus volumineux, MEDIUMTEXT peut gérer jusqu'à 16,777,215 XNUMX XNUMX caractères. Ce type est un choix approprié pour stocker un contenu textuel étendu, y compris des documents longs et des informations textuelles complètes.
  • LONGTEXT : Remarquablement étendu, LONGTEXT est le type de chaîne de longueur variable le plus volumineux dans MySQL, pouvant contenir jusqu'à 4,294,967,295 XNUMX XNUMX XNUMX caractères. Son application est idéale pour gérer des données textuelles extrêmement longues, englobant des documents volumineux ou de vastes ensembles de données.

La flexibilité inhérente aux types de chaînes variables se manifeste dans leur utilisation efficace du stockage space, s'adaptant dynamiquement pour accueillir du texte de différentes longueurs. Cette adaptabilité les rend inestimables pour diverses applications où le contenu du texte présente des variations substantielles de longueur.

Un autre type

MySQL inclut des types de données binaires spécialement conçus pour stocker des données binaires, telles que des images, de l'audio clips et fichiers vidéo, dans leur forme brute, non codée et non compressée. Ci-dessous, vous trouverez un aperçu concis de ces types binaires :

  • TINYBLOB : adapté aux champs binaires d'une longueur maximale de 255 octets.
  • BLOB : conçu pour accueillir des champs binaires d'une longueur maximale de 65,535 XNUMX octets.
  • MEDIUMBLOB : convient aux champs binaires s'étendant jusqu'à 16,777,215 XNUMX XNUMX octets.
  • LONGBLOB : Idéal pour gérer des champs binaires de taille importante, atteignant jusqu'à 4,294,967,295 XNUMX XNUMX XNUMX octets.

MySQL fournit également d'autres types de données avec des fonctions distinctes :

  • ENUM : Réservé au stockage d'une valeur sélectionnée dans une liste prédéfinie d'options. Par exemple, il peut être utilisé pour enregistrer les différentes couleurs disponibles pour un produit.
  • SET : Réservé pour contenir une collection de valeurs choisies dans une liste prédéfinie. Par exemple, il peut être utilisé pour documenter les différentes fonctionnalités associées à un produit.
  • BOOLEAN : Spécifiquement pour stocker des valeurs booléennes, représentant VRAI ou FAUX.
  • NULL : utilisé pour stocker une valeur NULL, signifiant que la valeur est inconnue ou indéfinie.

Ces divers types de données permettent aux concepteurs de bases de données de gérer efficacement un large éventail de données, du contenu binaire aux choix énumérés et aux indicateurs logiques.

Conclusion

MySQL offre une riche gamme de types de données pour gérer efficacement une grande variété de données. Le choix du type de données doit correspondre aux caractéristiques spécifiques des données et aux exigences du système, garantissant ainsi un stockage et une récupération efficaces des données dans diverses applications.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 1
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300

Vous pourriez aussi aimer...

Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies ainsi que Politique de confidentialité.