GNU/Linux >> Tutoriels Linux >  >> Cent OS

Types de données MySQL

Présentation

Types de données MySQL sont importants à comprendre avant de commencer à créer et à travailler avec une base de données MySQL. Si vous affectez correctement chaque colonne, vous vous assurez que la base de données est optimisée et que les données sont stockées en toute sécurité.

Dans ce didacticiel, vous découvrirez les différents types de données MySQL.

Que sont les types de données dans MySQL ?

Un nom et un type de données définissent chaque colonne dans une table de base de données. Le type de données spécifié indique à MySQL le type de valeurs qu'il stockera, l'espace dont elles ont besoin et le type d'opérations qu'il peut effectuer avec ce type de données.

Types de données MySQL

Il existe de nombreux types de données différents que vous pouvez stocker dans une table MySQL.

Ils sont regroupés en cinq catégories principales :

  1. Types de données numériques
  2. Types de données de date et d'heure
  3. Types de données de chaîne
  4. Types de données spatiales
  5. Types de données JSON

Lisez la suite pour en savoir plus sur chaque groupe et voir quels types de données ils incluent.

Types de données numériques

Lorsque vous stockez des nombres dans une colonne de base de données, utilisez l'un des types de données numériques. MySQL prend en charge les types de données numériques exactes et approximatives.

La catégorie numérique est en outre subdivisée dans les groupes suivants :

  • Types de données entiers
  • Types de données à virgule flottante
  • Types de données à virgule fixe
  • Types de données de valeur binaire

Types entiers

Types de données entiers sont utilisés pour les nombres entiers (entiers). Ils comprennent à la fois des valeurs positives et négatives. Cependant, ils ne gèrent pas les nombres fractionnaires.

Par conséquent, des nombres tels que 30 et -5435 peuvent être stockés sous forme de types de données entiers, contrairement à 5,3 ou 1/5.

Les types entiers sont signés ou non signés. Ils sont subdivisés en fonction de leur taille, différant par leur longueur et leur portée.

Octets Plage (non signée) Plage (signé)
TINYINT 1 de 0 à 255 de -128 à 127
SMALLINT 2 de 0 à 65535 de -32768 à 32767
INTENSITÉ MOYENNE 3 de 0 à 16777215 de -8388608 à 8388607
INT 4 de 0 à 4294967295 de -2147483648 à 2147483647
GRANDINT 8 de 0 à 18446744073709551615 de -9223372036854775808 à 9223372036854775807

TINYINT est un très petit entier qui utilise 1 octet de stockage. Il se compose de jusqu'à 4 chiffres . Sa plage non signée va de 0 à 255 . S'il est signé, il a une plage de -128 à 127 .

SMALLINT est un petit entier qui utilise 2 octets de stockage. Il se compose de jusqu'à 5 chiffres . Sa plage non signée va de 0 à 65535 . Lorsqu'il est signé, il a une plage de -32768 à 32767 .

MEDIUMINT est un entier de taille moyenne qui utilise 3 octets de stockage. Il comporte jusqu'à 9 chiffres . S'il n'est pas signé, il a une plage de 0 à 16777215 . Signé, sa valeur minimale est -8388608 , alors que sa valeur maximale est 8388607 .

INT est un entier qui utilise 4 octets de stockage. Il utilise jusqu'à 11 chiffres . Lorsqu'il n'est pas signé, il va de 0 à 4294967295 . S'il est signé, il a la plage de -2147483648 à 2147483647 .

BIGINT est un grand entier qui utilise 8 octets de stockage. Il comporte jusqu'à 20 chiffres . Sa valeur signée minimale est 0 , alors que sa valeur signée maximale est 18446744073709551615 . S'il est signé, il est compris entre -9223372036854775808 à 9223372036854775807 .

Types à virgule flottante

Les types de données numériques à virgule flottante sont des nombres rationnels utilisés pour représenter des valeurs approximatives. Utilisez des types de données à virgule flottante pour des calculs de haute précision.

Les types à virgule flottante incluent :

  • FLOAT représente des valeurs simple précision qui utilisent 4 octets et inclure jusqu'à 6 ou 7 chiffres significatifs.
  • DOUBLE représentent des valeurs en double précision qui utilisent 8 octets et inclure jusqu'à 15 ou 16 chiffres significatifs.

La syntaxe de base pour définir FLOAT /DOUBLE les types de données sont FLOAT(M,D) /DOUBLE(M,D) .

M représente le nombre total de chiffres, tandis que D est le nombre de décimales. Par exemple, la valeur 5 143 234 serait défini comme 7,3 car il a 7 chiffres au total et 3 chiffres après la virgule.

Vous pouvez également utiliser le FLOAT(P) syntaxe pour spécifier un type de données à virgule flottante, où P précise la précision. Si P a une valeur de 0 à 23 , il s'agit d'une colonne simple précision. Si la précision est entre 24 et 53 , il s'agit d'une colonne en double précision.

Octets Plage (non signée) Plage (signé)
FLOAT 4 de 1.175494351E-38 à 3.402823466E+38 de -3.402823466E+38 à -1.175494351E-38
DOUBLE 8 de 0 et 2.22507385850720 14E- 308 à 1.797693134862315 7E+ 308 de -1.7976931348623 157E+ 308 à -2.22507385850720 14E- 308

Types à virgule fixe

Pour stocker des valeurs numériques exactes, utilisez le type de données à virgule fixe - DECIMAL . Comme il représente un nombre exact, ce type de données est principalement utilisé pour les données qui reposent sur des valeurs précises (telles que les données monétaires).

La syntaxe de base est DECIMAL(P,D) , où P est synonyme de précision (le nombre de chiffres significatifs) et D signifie échelle (le nombre de chiffres après la virgule).

Le nombre maximal de chiffres pour la précision est 65 , tandis que la valeur maximale de l'échelle est 30 .

Si vous ne définissez pas la précision et l'échelle, la colonne utilise les valeurs par défaut. Par défaut, les valeurs pour P,D sont 10,0 .

Types de valeurs binaires

Le BIT le type de données stocke des valeurs binaires. Lors de la création d'une colonne qui stockera de telles valeurs, vous définissez le nombre de valeurs de bits allant de de 1 à 64 .

La syntaxe de ce type de données MySQL est BIT(N) . Si vous ne spécifiez pas N , la valeur par défaut est 1 .

Types de données de date et d'heure

La date et l'heure sont des types de données couramment utilisés. Que vous stockiez une heure de saisie de données, une date de naissance ou l'horodatage actuel, vous utilisez l'une des colonnes suivantes.

Les types de données de date et d'heure incluent :

  • DATETIME , TIMESTAMP
  • DATE
  • TIME
  • YEAR

DATE HEURE, HORODATAGE

Pour stocker les valeurs de date et d'heure, utilisez soit DATETIME ou TIMESTAMP . Les deux types de données stockent les informations au format AAAA-MM-JJ HH:MM:SS format. Il inclut le y oreille, m onth, d oui, h notre, m inutes et s secondes.

La principale différence entre les deux est leur portée :

  • DATETIME les valeurs vont de 1000-01-01 00:00:00 au 9999-12-31 23:59:59 .
  • TIMESTAMP les valeurs vont de 1970-01-01 00:00:01 au 2038-01-19 03:14:07 .

Vous pouvez inclure des fractions de seconde pour les deux options. Pour cela, indiquez la précision suivant la syntaxe DATETIME(p) /TIMESTAMP(p) .

Par exemple, pour stocker l'horodatage 22h53 le 1er mars 2021 , avec trois fractions de seconde, spécifiez le type de données TIMESTAMP(3) . L'entrée est stockée sous :2021-03-01 22:53:35.346 .

DATE

DATE est utilisé pour stocker les valeurs de date au format AAAA-MM-JJ (année, mois, date).

Le type de données prend en charge la plage 1000-01-01 à 9999-12-31 .

HEURE

TIME est utilisé pour stocker les valeurs de temps sous la forme HH-MM-SS (heures, minutes, secondes) ou HHH-MM-SS . Les entrées indiquant le temps écoulé ou les différences de temps sont stockées et récupérées dans un format plus long (si elles ont besoin de plus de chiffres pour les heures).

Le type de données prend en charge la plage 1000-01-01 à 9999-12-31 .

ANNÉE

YEAR stocke les valeurs de l'année au format AAAA . Il prend en charge les valeurs comprises dans la plage 1901-2155 .

Alors que les versions antérieures à MySQL 5.7.5 prenaient en charge les entrées à 2 et 4 chiffres pour YEAR , il n'y a pas eu de support à 2 chiffres depuis la version 5.7.5.

Types de données de chaîne

Lors du stockage de chaînes de données, utilisez l'un des types de données de chaîne. Ils peuvent contenir des lettres, des chiffres, des images ou des fichiers.

En conséquence, il existe plusieurs types de données de chaîne différents :

  • CHAR et VARCHAR
  • BINARY et VARBINARY
  • BLOB et TEXT
  • ENUM
  • SET

CHAR et VARCHAR

CHAR et VARCHAR sont des types de données utilisés pour stocker des chaînes non binaires. La principale différence entre les deux est la façon dont ils stockent les données.

CHAR stocke des chaînes de longueur fixe (jusqu'à 255 personnages). Lors de la création d'un CHAR colonne, vous spécifiez la longueur en utilisant le CHAR(N) syntaxe. N est le nombre de caractères que vous voulez prendre. Si vous ne définissez pas la longueur, il utilise la valeur par défaut 1 .

Ces valeurs sont stockées à droite avec la longueur spécifiée. Par conséquent, si vous configurez un CHAR(5) colonne et y stocker une entrée de trois caractères, elle occupe toujours cinq caractères.

VARCHAR stocke des chaînes de longueur variable. Alors que la longueur doit être définie lors de la création d'une colonne, les valeurs ne sont pas remplies à droite. Ils ont une limite maximale, mais la longueur n'est pas fixe et varie en fonction des données.

Auparavant, la plage d'entrées était de 0 à 255 . Après la sortie de MySQL 5.0.3, VARCHAR la plage est jusqu'à 65 535 caractères .

BINAIRE et VARBINAIRE

BINARY et VARBINARY les types de données sont similaires au CHAR mentionné précédemment et VARCHAR . La principale différence entre ces deux groupes est que BINARY et VARBINARY sont utilisés pour les chaînes binaires.

BINARY est utilisé pour les chaînes binaires de longueur fixe, jusqu'à 255 octets . La syntaxe principale pour définir une telle colonne est BINARY(N) , où N est le nombre d'octets.

VARBINARY stocke des chaînes binaires de longueur variable. MySQL version 5.0.3 et versions ultérieures stocke jusqu'à 65 535 octets .

BLOB et TEXTE

Les deux BLOB et TEXT sont utilisés pour stocker de grandes quantités de données.

BLOB poignées B inaire L grand O objets (c'est-à-dire de grands ensembles de données binaires telles que des images, des fichiers audio ou PDF).

Il existe 4 types de types de données BLOB à utiliser, selon la taille requise par vos données :

  • TINYBLOB (0 - 255 ; 255 octets)
  • BLOB (0 - 65 535 ; 16 Ko)
  • MEDIUMBLOB (0 – 16 777 215; 16 Mo)
  • LONGBLOB (0 - 4 294 967 295 ; 4 Go)

TEXT les types de données servent à stocker des chaînes de texte plus longues. Selon la quantité de données requises, il y a :

  • TINYTEXT (0 - 255 ; 255 octets)
  • TEXT (0 - 65 535 ; 16 Ko)
  • MEDIUMTEXT (0 – 16 777 215; 16 Mo)
  • LONGTEXT (0 - 4 294 967 295 ; 4 Go)

ENUM

Le ENUM Le type de données est utilisé pour stocker l'une des valeurs possibles prédéfinies dans une colonne. La colonne peut contenir jusqu'à 65 535 valeurs distinctes.

Lors de la création d'un ENUM colonne de table dans MySQL, vous spécifiez une liste de toutes les valeurs autorisées.

RÉGLER

Comme ENUM , le SET le type de données a une liste prédéfinie de valeurs possibles stockées dans la colonne.

La principale différence entre les deux est que SET permet à une entrée d'avoir plus d'une valeur.

Par exemple, si la colonne est définie comme SET('Red','Orange','Yellow','Green') et a quatre valeurs possibles dans la liste, une entrée peut avoir la valeur 'Red' , tandis qu'un autre pourrait avoir la valeur 'Rouge','Jaune' .

Le nombre maximal de valeurs autorisées est 64 .

Types de données spatiales

Lors du stockage de données spatiales, vous pouvez utiliser l'un des nombreux types de données spatiales pris en charge par MySQL. Ils sont utilisés pour représenter des informations sur les formes géométriques et l'emplacement physique.

Nous pouvons les diviser en deux groupes :

  • Valeurs de géométrie uniques
  • Collections de valeurs

Valeurs de géométrie uniques

Les types de données à géométrie unique incluent GEOMETRY , POINT , LINESTRING , et POLYGON .

  • GEOMETRY stocke tout type de valeur géométrique/spatiale.
  • POINT est utilisé pour une seule valeur de point.
  • LINESTRING stocke une collection de plusieurs points qui forment une ligne.
  • POLYGON est un type de données utilisé pour stocker une collection de plusieurs points qui forment une surface polygonale.

Collection de valeurs

La collection de types de données de valeurs inclut GEOMETRYCOLLECTION , MULTIPOINT , MULTILINE , et MULTIPOLYGON .

  • GEOMETRYCOLLECTION stocke une collection de valeurs géométriques/spatiales.
  • MULTIPOINT est utilisé pour stocker une collection de valeurs de points multiples.
  • MULTILINE stocke une collection de plusieurs lignes.
  • MULTIPOLYGON est utilisé pour une collection de plusieurs polygones.

Types de données JSON

Depuis la version 5.7.8, MySQL inclut la prise en charge du JSON natif type de données, permettant aux utilisateurs de stocker et de gérer des documents JSON via une base de données.

MySQL s'assure que les documents JSON sont valides et les stocke dans la colonne JSON.


Cent OS
  1. MySQL - Conversion en données par table pour InnoDB

  2. Comment déplacer le répertoire de données MySQL ?

  3. Sauvegarde MySQL 1.1

  4. Valider les données dans un conteneur mysql

  5. Activation de LOAD DATA LOCAL INFILE dans mysql

Comment renommer une colonne dans MySQL

Comment supprimer une table dans MySQL

Types de données Python {Aperçu complet}

Qu'est-ce que la réplication de données ? {Types et schémas de réplication expliqués}

Installer MySQL sur CentOS 7

PHP MySQL Sélectionner les données