Type de données INT de MySQL

author
4 minutes, 44 seconds Read

Résumé : dans ce tutoriel, vous apprendrez à connaître le type de données INT ou entier de MySQL et comment l’utiliser dans la conception de votre table de base de données. En outre, nous vous montrerons comment utiliser les attributs largeur d’affichage et ZEROFILL d’une colonne entière.

Introduction au type INT de MySQL

Dans MySQL, INT représente l’entier qui est un nombre entier. Un nombre entier peut être écrit sans composante fractionnaire, par exemple, 1, 100, 4, -10, et il ne peut pas être 1,2, 5/3, etc. Un nombre entier peut être nul, positif et négatif.

MySQL prend en charge tous les types de nombres entiers standard SQL INTEGER ou INT et SMALLINT. En outre, MySQL fournit TINYINT MEDIUMINT, et BIGINT comme extensions du standard SQL.

Le type de données INT de MySQL peut être signé et non signé. Le tableau suivant illustre les caractéristiques de chaque type d’entier, notamment le stockage en octets, la valeur minimale et la valeur maximale.

.

Type Stockage Valeur minimale Valeur maximale
(Octets) (Signé/Non signé) (Signé/Non signé)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

Exemples du type de données INT de MySQL

Voyons quelques exemples d’utilisation du type de données entier.

A) Exemple d’utilisation de MySQL INT pour une colonne

Parce que le type integer représente des nombres exacts, vous l’utilisez généralement comme clé primaire d’une table. En outre, la colonne INT peut avoir un attribut AUTO_INCREMENT .

Lorsque vous insérez une valeur NULL ou 0 dans la colonne INT AUTO_INCREMENT, la valeur de la colonne est définie sur la valeur de séquence suivante. Remarquez que la valeur de séquence commence par 1.

Lorsque vous insérez une valeur, qui n’est pas NULL ou zéro, dans la colonne AUTO_INCREMENT, la colonne accepte la valeur. En outre, la séquence est réinitialisée à la valeur suivante de la valeur insérée.

D’abord, créez une nouvelle table nommée items avec une colonne entière comme clé primaire:

Code language: SQL (Structured Query Language) (sql)

Vous pouvez utiliser soit INT soit INTEGER dans l’instruction CREATE TABLE ci-dessus car ils sont interchangeables. Chaque fois que vous insérez une nouvelle ligne dans la table items, la valeur de la colonne item_id est augmentée de 1.

Puis, l’instruction INSERT suivante insère trois lignes dans la table items.

Code language: SQL (Structured Query Language) (sql)

Puis, interrogez les données de la table items en utilisant l’instruction SELECT suivante :

Code language: SQL (Structured Query Language) (sql)

Après cela, insérez une nouvelle ligne dont la valeur de la colonne item_id est spécifiée explicitement.

Code language: SQL (Structured Query Language) (sql)

Puisque la valeur actuelle de la colonne item_id est 10, la séquence est réinitialisée à 11. Si vous insérez une nouvelle ligne, la colonne AUTO_INCREMENT utilisera 11 comme prochaine valeur.

Code language: SQL (Structured Query Language) (sql)

Enfin, interrogez à nouveau les données de la table items pour voir le résultat.

Code language: SQL (Structured Query Language) (sql)

Notez qu’à partir de MySQL 5.1, la colonne AUTO_INCREMENT n’accepte que les valeurs positives et ne permet pas les valeurs négatives.

B) Utilisation de l’exemple MySQL INT UNSIGNED

Premièrement, créez une table appelée classes qui a la colonne total_member avec le type de données entier non signé:

Code language: SQL (Structured Query Language) (sql)

Deuxièmement, insérez une nouvelle ligne dans la table classes:

Code language: SQL (Structured Query Language) (sql)

Cela a fonctionné comme prévu.

Troisièmement, tentative d’insertion d’une valeur négative dans la colonne total_member:

Code language: SQL (Structured Query Language) (sql)

MySQL a émis l’erreur suivante:

Code language: SQL (Structured Query Language) (sql)

MySQL INT avec l’attribut largeur d’affichage

MySQL fournit une extension qui vous permet de spécifier la largeur d’affichage avec le type de données INT. La largeur d’affichage est enveloppée à l’intérieur des parenthèses suivant le mot-clé INT, par exemple, INT(5) spécifie un INT avec la largeur d’affichage de cinq chiffres.

Il est important de noter que l’attribut de largeur d’affichage ne contrôle pas les plages de valeurs que la colonne peut stocker. L’attribut de largeur d’affichage est généralement utilisé par les applications pour formater les valeurs entières. MySQL inclut l’attribut de largeur d’affichage en tant que métadonnées du jeu de résultats retourné.

MySQL INT avec l’attribut ZEROFILL

En plus de l’attribut de largeur d’affichage, MySQL fournit un attribut non standard ZEROFILL. Dans ce cas, MySQL remplace les espaces par des zéros. Considérez l’exemple suivant.

Premièrement, créez une table nommée zerofill_tests :

Code language: SQL (Structured Query Language) (sql)

Deuxièmement, insérez une nouvelle ligne dans la table zerofill_tests.

Code language: SQL (Structured Query Language) (sql)

Troisièmement, interrogez les données de la table zerofill_tests .

Code language: SQL (Structured Query Language) (sql)


La colonnev1a une largeur d’affichage 2 incluantZEROFILL.Sa valeur est 1 donc, vous voyez01dans la sortie. MySQL remplace le premier espace par 0.

La colonne v2 a un affichage de 3 incluant ZEROFILL. Sa valeur est 6 donc, vous voyez 00 comme les zéros de tête.

La colonne v3 a l’affichage de largeur 5 avec ZEROFILL, alors que sa valeur est 9, donc MySQL tamponne 0000 au début du nombre dans la sortie.

Notez que si vous utilisez l’attribut ZEROFILL pour une colonne d’entiers, MySQL ajoutera automatiquement un attribut UNSIGNED à la colonne.

Dans ce tutoriel, vous avez appris à utiliser le type de données MySQL INT pour concevoir des tables de base de données.

  • Ce tutoriel vous a-t-il été utile ?
  • OuiNon

Similar Posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.