Maison > base de données > tutoriel mysql > Y a-t-il une différence entre utiliser INT(1) et TINYINT(1) dans MySQL ?

Y a-t-il une différence entre utiliser INT(1) et TINYINT(1) dans MySQL ?

PHPz
Libérer: 2023-08-30 08:13:08
avant
916 Les gens l'ont consulté

在 MySQL 中使用 INT(1) 与 TINYINT(1) 有区别吗?

Le chiffre 1 utilisé entre parenthèses sert uniquement à l'affichage de la largeur. INT(1) et TINYINT(1) n'affectent pas le stockage.

TINYINT occupe 1 octet, ce qui signifie que sa plage est de -128 à +127, tandis que int occupe 4 octets ; sa plage est de -2147483648 à +2147483647

Pour comprendre l'affichage de la largeur, créons une table -

mysql> create table intAndTinyint
   −> (
   −> FirstNumber int(1) zerofill,
   −> SecondNumber tinyint(1) zerofill
   −> );
Query OK, 0 rows affected (0.52 sec)
Copier après la connexion

Maintenant vous pouvez insérer des enregistrements dans le tableau. La requête est la suivante -

mysql> insert into intAndTinyint values(1,1);
Query OK, 1 row affected (0.32 sec)

mysql> insert into intAndTinyint values(12,12);
Query OK, 1 row affected (0.26 sec)

mysql> insert into intAndTinyint values(123,123);
Query OK, 1 row affected (0.14 sec)
Copier après la connexion

Utilisez l'instruction select pour afficher tous les enregistrements de la table. La requête est la suivante -

mysql> select *from intAndTinyint;
Copier après la connexion

Voici le résultat -

+-------------+--------------+
| FirstNumber | SecondNumber |
+-------------+--------------+
|           1 |            1 |
|          12 |           12 |
|         123 |          123 |
+-------------+--------------+
3 rows in set (0.00 sec)
Copier après la connexion

Vous comprendrez cela lorsque le nombre 1 entre parenthèses passe à supérieur à 1 en le complétant avec des zéros. Regardons un exemple juste pour INT pour comprendre le concept de remplissage nul en largeur.

Créez un tableau. Voici la requête pour créer la table -

mysql> create table intVsIntAnyThingDemo
   −> (
   −> Number1 int(11) unsigned zerofill,
   −> Number int(13) unsigned zerofill
   −> );
Query OK, 0 rows affected (1.17 sec)
Copier après la connexion

Vous pouvez maintenant insérer des enregistrements dans la table à l'aide de la commande insert. Ici, nous définissons différentes largeurs pour INT. La requête est la suivante -

mysql> insert into intVsIntAnyThingDemo values(12345,6789);
Query OK, 1 row affected (0.44 sec)

mysql> insert into intVsIntAnyThingDemo values(3,2);
Query OK, 1 row affected (0.20 sec)

mysql> insert into intVsIntAnyThingDemo values(12,89);
Query OK, 1 row affected (0.15 sec)

mysql> insert into intVsIntAnyThingDemo values(123,6789);
Query OK, 1 row affected (0.17 sec)

mysql> insert into intVsIntAnyThingDemo values(1234,6789);
Query OK, 1 row affected (0.14 sec)
Copier après la connexion

Affichez tous les enregistrements à l'aide de l'instruction select. La requête est la suivante -

mysql> select *from intVsIntAnyThingDemo;
Copier après la connexion

Vous trouverez ci-dessous la sortie montrant différentes largeurs et un remplissage nul

+-------------+---------------+
| Number1     | Number        |
+-------------+---------------+
| 00000012345 | 0000000006789 |
| 00000000003 | 0000000000002 |
| 00000000012 | 0000000000089 |
| 00000000123 | 0000000006789 |
| 00000001234 | 0000000006789 |
+-------------+---------------+
5 rows in set (0.00 sec)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal