1. Qu’est‑ce que le TINYINT MySQL ?
Dans MySQL, TINYINT est un type de données utilisé pour stocker de très petits entiers. TINYINT occupe 1 octet (8 bits) de mémoire et peut contenir des valeurs de -128 à 127 lorsqu’il est signé, ou de 0 à 255 lorsqu’il est non signé. Le TINYINT est principalement utilisé pour gérer efficacement de petites valeurs numériques et des indicateurs booléens.
Fonctionnalités du TINYINT
- Efficacité mémoire : comme
TINYINTn’utilise qu’1 octet, il économise davantage de mémoire comparé à d’autres types d’entiers tels queINTouBIGINT. - Options signé et non signé : un TINYINT signé peut gérer des valeurs négatives, tandis que l’option non signée étend la plage maximale positive.
Exemple d’utilisation du TINYINT
Dans l’exemple suivant, une table est créée en utilisant le type TINYINT pour gérer de petites valeurs numériques et des indicateurs.
CREATE TABLE user_status (
user_id INT PRIMARY KEY,
is_active TINYINT(1) NOT NULL DEFAULT 0
);
Dans cet exemple, la colonne is_active est définie comme TINYINT(1) et sert à gérer si un utilisateur est actif. Une valeur de 0 indique « inactif », et 1 indique « actif ».
2. Cas d’utilisation pratiques du TINYINT
TINYINT est un type de données idéal pour gérer de petits entiers et des valeurs booléennes. Il est largement employé pour maximiser les performances de la base de données et réduire la consommation d’espace de stockage.
Utiliser le TINYINT comme valeur booléenne
Comme MySQL ne possède pas de type dédié BOOLEAN, TINYINT(1) est couramment utilisé comme substitut pour gérer les valeurs booléennes. En général, 0 représente « false » et 1 représente « true ». Cette approche facilite la gestion des indicateurs.
UPDATE user_status SET is_active = NOT is_active WHERE user_id = 1;
Dans cet exemple, la valeur de is_active pour l’utilisateur spécifié est basculée. Cela permet de changer simplement les valeurs booléennes.
Gestion de petites valeurs numériques
Par exemple, TINYINT est également efficace pour gérer des entiers dans une très petite plage, comme le nombre d’articles en stock. Si le nombre de produits ne dépasse pas 255, l’utilisation de TINYINT UNSIGNED permet une gestion suffisante des données dans la plage numérique non signée.

3. Comparaison du TINYINT avec d’autres types d’entiers
MySQL propose divers types d’entiers, et le TINYINT est le plus petit d’entre eux. En revanche, INT et BIGINT peuvent stocker des plages de valeurs beaucoup plus larges. Voici les différences entre le TINYINT et les autres principaux types d’entiers.
Différence entre INT et TINYINT
INT utilise 4 octets et prend en charge des valeurs de -2147483648 à 2147483647, tandis que TINYINT n’utilise qu’1 octet et accepte des valeurs de -128 à 127 (signé) ou de 0 à 255 (non signé). Ainsi, en utilisant le TINYINT, vous pouvez gérer efficacement les données dans une plage appropriée tout en économisant de la mémoire.
Comparaison avec d’autres petits types d’entiers
En plus du TINYINT, MySQL propose des types tels que SMALLINT (2 octets) et MEDIUMINT (3 octets). La plage numérique varie selon la taille en octets de chaque type, il est donc important de choisir le type de données adéquat.
4. Choisir entre signé et non signé
Dans MySQL, le type TINYINT peut être défini comme signé ou non signé. Comprendre la différence et choisir correctement conduit à une gestion des données plus efficace.
Avantages du TINYINT non signé
Un TINYINT non signé (TINYINT UNSIGNED) accepte des valeurs de 0 à 255, ce qui le rend utile lorsque les valeurs négatives ne sont pas nécessaires. Par exemple, pour stocker l’âge d’un utilisateur ou la quantité d’un produit—où les valeurs négatives sont inutiles—l’utilisation de UNSIGNED élargit la plage exploitable et permet une gestion plus efficace des données.
Avantages du TINYINT signé
Un TINYINT signé accepte des valeurs de -128 à 127, ce qui le rend approprié lorsque des valeurs négatives sont requises. Par exemple, pour des données telles que la température où des valeurs négatives peuvent survenir, l’option signée est adaptée.
5. Exemple d’utilisation du TINYINT
Voici un exemple d’utilisation de TINYINT pour gérer des données au sein d’une base de données. Par exemple, lors de la gestion des quantités de produits, vous pouvez définir la table comme suit :
CREATE TABLE products (
product_id INT PRIMARY KEY,
quantity TINYINT UNSIGNED NOT NULL
);
Dans cet exemple, l’inventaire du produit quantity est géré comme un TINYINT non signé, permettant des valeurs jusqu’à 255. De plus, en spécifiant NOT NULL, vous garantissez qu’une valeur est toujours définie.
Vous pouvez également utiliser TINYINT pour gérer les indicateurs d’état des utilisateurs de manière simple et efficace. En particulier, lors du traitement de gros volumes de données, l’utilisation de TINYINT peut améliorer les performances globales de la base de données.
6. Résumé et bonnes pratiques
TINYINT est l’un des types de données les plus économes en mémoire dans MySQL et est idéal pour gérer efficacement de petits entiers et des indicateurs. En utilisant TINYINT pour des valeurs booléennes ou de petites plages numériques, vous pouvez optimiser à la fois l’utilisation du stockage et les performances de la base de données.


