MySQL - INT : Un guide pour débutants

Bonjour, aspirants passionnés de bases de données ! Aujourd'hui, nous allons plonger dans le monde de MySQL et explorer l'un de ses types de données les plus fondamentaux : INT. Ne vous inquiétez pas si vous êtes nouveau dans la programmation - je vais vous guider étape par étape, comme j'ai fait pour des centaines d'étudiants au fil des ans. Alors, mettons nos manches à l'ouvrage et c'est parti !

MySQL - INT

Le type de données INT en MySQL

Le type de données INT en MySQL est comme le cheval de bataille fiable de la famille des types de données numériques. Il est utilisé pour stocker des nombres entiers sans virgule. Pensez-y comme une boîte qui peut contenir des nombres de -2,147,483,648 à 2,147,483,647. C'est énorme !

Créons une table simple pour voir INT en action :

CREATE TABLE ma permière_table (
id INT,
age INT,
score INT
);

Dans cet exemple, nous avons créé une table appelée ma permière_table avec trois colonnes : id, age, et score. Toutes ces colonnes utilisent le type de données INT.

Maintenant, ajoutons quelques données :

INSERT INTO ma permière_table (id, age, score) VALUES (1, 25, 95);
INSERT INTO ma permière_table (id, age, score) VALUES (2, 30, 88);
INSERT INTO ma permière_table (id, age, score) VALUES (3, 22, 100);

Ici, nous ajoutons trois lignes de données à notre table. Chaque instruction INSERT ajoute une nouvelle personne avec leur id, age, et score.

Auto Increment avec MySQL INT

Une des fonctionnalités sympas de INT est qu'il peut s'incrémenter automatiquement. C'est super utile lorsque vous voulez générer des identifiants uniques pour chaque ligne de votre table. Laissez-moi vous montrer comment cela fonctionne :

CREATE TABLE exemple_auto_increment (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);

INSERT INTO exemple_auto_increment (name) VALUES ('Alice');
INSERT INTO exemple_auto_increment (name) VALUES ('Bob');
INSERT INTO exemple_auto_increment (name) VALUES ('Charlie');

Dans cet exemple, la colonne id affectera automatiquement 1, 2, et 3 à Alice, Bob, et Charlie respectivement. C'est comme avoir un assistant utile qui numérote vos entrées pour vous !

MySQL INT SANS SIGNATURE

Parfois, vous n'avez besoin que de nombres positifs. C'est là que SANS SIGNATURE (UNSIGNED) devient pratique. Il double efficacement la valeur maximale qu'un INT peut contenir, de 0 à 4,294,967,295.

CREATE TABLE nombres_positifs (
id INT UNSIGNED,
quantité INT UNSIGNED
);

INSERT INTO nombres_positifs (id, quantité) VALUES (1, 100);
INSERT INTO nombres_positifs (id, quantité) VALUES (2, 4294967295);

Cette table n'acceptera que des nombres positifs, ce qui est parfait pour des choses comme les quantités ou les âges.

MySQL INT avec l'attribut Largeur d'affichage

L'attribut largeur d'affichage n'affecte pas la plage de valeurs qu'un INT peut stocker, mais il peut rendre vos données plus jolies à l'affichage. Voici comment cela fonctionne :

CREATE TABLE exemple_largeur_affichage (
id INT(4),
code INT(6) ZEROFILL
);

INSERT INTO exemple_largeur_affichage (id, code) VALUES (1, 123);
INSERT INTO exemple_largeur_affichage (id, code) VALUES (1000, 456789);

Lorsque vous récupérez ces données, code sera affiché comme 000123 et 456789 respectivement. C'est comme ajouter des zéros au début pour que tous vos nombres aient la même largeur.

MySQL INT avec l'attribut ZEROFILL

ZEROFILL est comme le meilleur ami de la largeur d'affichage. Il remplit automatiquement vos nombres avec des zéros pour atteindre la largeur spécifiée. Voyons cela en action :

CREATE TABLE exemple_zerofill (
id INT(5) ZEROFILL
);

INSERT INTO exemple_zerofill (id) VALUES (1);
INSERT INTO exemple_zerofill (id) VALUES (100);
INSERT INTO exemple_zerofill (id) VALUES (10000);

Lorsque vous récupérez ces données, vous verrez 00001, 00100, et 10000. C'est génial pour créer des codes ou des IDs d'apparence cohérente.

Type de données INT en utilisant un programme client

Maintenant, mettons toutes ces connaissances en pratique en utilisant un programme client. J'utiliserai le client en ligne de commande MySQL pour cet exemple, mais les principes s'appliquent à tout client MySQL.

-- Se connecter à MySQL
mysql -u votre_utilisateur -p

-- Créer une base de données
CREATE DATABASE exemples_int;

-- Utiliser la base de données
USE exemples_int;

-- Créer une table en utilisant divers types INT
CREATE TABLE vitrine_int (
id INT AUTO_INCREMENT PRIMARY KEY,
regular_int INT,
unsigned_int INT UNSIGNED,
display_width_int INT(4),
zerofill_int INT(6) ZEROFILL
);

-- Insérer des données
INSERT INTO vitrine_int (regular_int, unsigned_int, display_width_int, zerofill_int)
VALUES (-1000, 1000, 123, 123);

INSERT INTO vitrine_int (regular_int, unsigned_int, display_width_int, zerofill_int)
VALUES (2000000, 3000000, 45678, 45678);

-- Récupérer les données
SELECT * FROM vitrine_int;

Lorsque vous exécutez ce code, vous verrez comment chaque type INT se comporte différemment. Le regular_int peut contenir des valeurs négatives, le unsigned_int uniquement positives, le display_width_int paraît normal, et le zerofill_int ajoute ces zéros au début.

Voici un tableau récapitulatif des variantes INT que nous avons couvertes :

Type INT Plage Exemple d'utilisation
INT -2,147,483,648 à 2,147,483,647 Stockage général d'entiers
INT SANS SIGNATURE 0 à 4,294,967,295 Nombres positifs uniquement
INT AUTO_INCREMENT Identique à INT, mais s'incrémente automatiquement Clés primaires, identifiants uniques
INT(N) Identique à INT, mais affecte la largeur d'affichage Formatage de la sortie
INT(N) ZEROFILL Identique à INT, remplit avec des zéros Création de codes d'apparence cohérente

Et voilà, les amis ! Nous avons parcouru le territoire des INT de MySQL, des bases aux astuces sympas. Souvenez-vous, comme toute nouvelle compétence, maîtriser MySQL nécessite de la pratique. Alors n'ayez pas peur de manipuler ces concepts. Qui sait ? Vous pourriez devenir l'expert INT dans votre cercle de codage ! Bonne chance avec vos requêtes !

Credits: Image by storyset