MySQL - TINYINT : Guide pour débutants

Salut à toi, futur(e) mage de la base de données ! Aujourd'hui, on va plonger dans le monde de MySQL et explorer un type de données tout petit mais puissant : TINYINT. Ne vous laissez pas tromper par sa taille ; ce petit guy peut donner du fil à retordre lorsqu'il s'agit de stocker des petits entiers efficacement. Alors, mettez vos casques virtuels, et c'est parti pour l'univers de TINYINT !

MySQL - TINYINT

Le type de données TINYINT de MySQL

Qu'est-ce que TINYINT ?

TINYINT est l'un des types de données entières de MySQL, conçu pour stocker de petits nombres entiers. Pensez à lui comme une petite voiture de la ville des entiers - petite, efficace et parfaite pour de courts trajets (ou dans notre cas, de petits nombres).

Caractéristiques clés

  1. Taille : TINYINT utilise seulement 1 octet de stockage.
  2. Plage :
  • Signé : -128 à 127
  • Non signé : 0 à 255

Quand utiliser TINYINT

TINYINT est parfait pour des scénarios où vous avez besoin de stocker de petits valeurs entières. Par exemple :

  • Âge (0-255 ans devrait suffire, non ? Même pour les vampires !)
  • Notes (1-5 étoiles)
  • Petits compteurs
  • Valeurs booléennes (0 ou 1)

Syntaxe

column_name TINYINT[(M)] [UNSIGNED] [ZEROFILL]

Décomposons cela :

  • M : Largeur d'affichage optionnelle (0-255)
  • UNSIGNED : Fait que la plage est de 0 à 255
  • ZEROFILL : Remplit l'affichage des valeurs avec des zéros au début

TINYINT en action : Utilisation d'un programme client

Maintenant, mettons les mains dans le cambouis et voyons TINYINT en action. Nous allons utiliser quelques exemples pour illustrer comment travailler avec ce type de données dans MySQL.

Création d'une table avec TINYINT

Créons une table simple pour stocker des informations sur un système de notation de livres :

CREATE TABLE book_ratings (
id INT AUTO_INCREMENT PRIMARY KEY,
book_name VARCHAR(100),
rating TINYINT UNSIGNED,
is_recommended TINYINT(1)
);

Dans cet exemple :

  • rating utilise TINYINT UNSIGNED pour stocker des notes de 0 à 5.
  • is_recommended utilise TINYINT(1) comme booléen (0 pour faux, 1 pour vrai).

Insertion de données

Ajoutons quelques notes de livres :

INSERT INTO book_ratings (book_name, rating, is_recommended)
VALUES
('Le manuel de MySQL', 5, 1),
('SQL pour les nuls', 3, 0),
('Conception de base de données 101', 4, 1);

Requête de données TINYINT

Maintenant, récupérons nos données :

SELECT * FROM book_ratings;

Sortie :

+----+----------------------+--------+----------------+
| id | book_name            | rating | is_recommended |
+----+----------------------+--------+----------------+
|  1 | Le manuel de MySQL   |      5 |              1 |
|  2 | SQL pour les nuls    |      3 |              0 |
|  3 | Conception de base de données 101 |      4 |              1 |
+----+----------------------+--------+----------------+

Utilisation de TINYINT dans des conditions

TINYINT fonctionne parfaitement dans des clauses WHERE :

SELECT book_name, rating
FROM book_ratings
WHERE rating > 3 AND is_recommended = 1;

Cette requête récupère les livres bien notés et recommandés.

TINYINT comme booléen

Bien que MySQL ait un type BOOLEAN, c'est en réalité un alias pour TINYINT(1). Voici comment l'utiliser :

CREATE TABLE task_list (
id INT AUTO_INCREMENT PRIMARY KEY,
task_name VARCHAR(100),
is_completed BOOLEAN
);

INSERT INTO task_list (task_name, is_completed)
VALUES
('Apprendre MySQL', TRUE),
('Maîtriser TINYINT', FALSE);

SELECT * FROM task_list;

Sortie :

+----+----------------+--------------+
| id | task_name      | is_completed |
+----+----------------+--------------+
|  1 | Apprendre MySQL |            1 |
|  2 | Maîtriser TINYINT |            0 |
+----+----------------+--------------+

Méthodes et fonctions pour TINYINT

Voici un tableau des méthodes et fonctions utiles pour travailler avec TINYINT :

Méthode/Fonction Description Exemple
ABS() Retourne la valeur absolue SELECT ABS(TINYINT_COLUMN) FROM TABLE;
SIGN() Retourne le signe (-1, 0, ou 1) SELECT SIGN(TINYINT_COLUMN) FROM TABLE;
MOD() Retourne le reste SELECT MOD(TINYINT_COLUMN, 3) FROM TABLE;
GREATEST() Retourne la plus grande valeur SELECT GREATEST(TINYINT_COL1, TINYINT_COL2) FROM TABLE;
LEAST() Retourne la plus petite valeur SELECT LEAST(TINYINT_COL1, TINYINT_COL2) FROM TABLE;

Conclusion

Et voilà, les amis ! Nous avons fait le tour du type de données TINYINT dans MySQL. De sa taille compacte à sa polyvalence pour stocker de petits entiers et même des booléens, TINYINT prouve que les meilleures choses viennent en petits paquets.

N'oubliez pas, choisir le bon type de données est crucial pour la performance et l'efficacité de la base de données. TINYINT pourrait sembler petit, mais il peut faire une grande différence lorsque vous traitez des millions de lignes !

Alors, continuez votre voyage dans MySQL et gardez TINYINT dans votre boîte à outils. C'est comme un couteau suisse - petit, mais incroyablement utile lorsque vous en avez besoin. Bon codage, et puissent vos bases de données toujours être optimisées !

Credits: Image by storyset