MySQL BigInt Number Ganges

MySQL BigInt Number Ganges
Cet article se concentre sur le type de données MySQL BigInt et examine comment nous pouvons l'utiliser pour stocker des valeurs entières. Nous apprendrons également sa gamme, sa taille de stockage et divers attributs, notamment signé, non signé et à remplir.

Mysql bigint

Le Bigint est un octet B ou 64 bits entière et est très utile pour stocker d'énormes valeurs entières.

Le MySQL BigInt, comme tout autre type de données entier MySQL, peut être signé ou non signé. Un type de données signé indique que la colonne peut stocker à la fois des valeurs entières positives et négatives. Ceci est le type par défaut pour la plupart des types entiers dans MySQL. Par conséquent, sauf si spécifié explicitement, toute colonne de type entier peut stocker à la fois des entiers positifs et négatifs.

D'un autre côté, le type de données non signé indique que la colonne ne peut stocker que des valeurs entières positives.

La gamme du type MySQL BigInt signé se situe entre -9223372036854775808 et 922337203685475807

Pour un type de grossit non signé, la valeur varie de 0 à 18446744073709551615.

L'autre attribut du type Bigint est le zérofill. Avec cet attribut spécifié sur une colonne, la colonne est automatiquement définie sur.

L'attribut Zerofill remplit également les espaces de zéros.

Exemples

Regardons quelques exemples pour illustrer comment utiliser le type BigInt.

Créer une base de données s'il n'existe pas entiers;
Utiliser des entiers;

Ensuite, créons une table et remplissons-la avec diverses colonnes Bigint, comme indiqué dans la requête ci-dessous:

Créer des exemples de table (x bigint not null auto_increment clé primaire, y bigint unsigned, z bigint zerofill);

Exemple 1
Essayons d'abord d'ajouter toutes les valeurs positives au tableau:

Insérer dans les exemples (x, y, z) valeurs (1,2,3);

Dans l'exemple de requête ci-dessus, les valeurs sont acceptables car elles sont dans la gamme des types signés, non signés et zérofill.

Sélectionnez * à partir d'exemples;
+---+------+----------------------+
| X | y | Z |
+---+------+----------------------+
| 1 | 2 | 0000000000000000000003 |
+---+------+----------------------+
1 rangée dans ensemble (0.01 SEC)

Exemple 2
Dans le cas suivant, essayons d'ajouter toutes les valeurs négatives. Un exemple de requête est ci-dessous:

Insérer dans des exemples (x, y, z) valeurs (-1, -2, -3);
Erreur 1264 (22003): Valeur hors plage pour la colonne «Y» à la ligne 1

Dans ce cas, la requête échoue car la colonne Y n'est pas signée. Par conséquent, attribuer une valeur négative à la colonne est hors de la plage de colonne.

Exemple 3
Nous pouvons observer un cas similaire à celle ci-dessus pour la troisième colonne. L'attribut Zerofill rend automatiquement la colonne non signée, ce qui fait que l'ajout d'une valeur négative est hors de portée. Un exemple est:

Insérer dans des exemples (x, y, z) valeurs (-1,2, -3);
Erreur 1264 (22003): Valeur hors plage pour la colonne «Z» à la ligne 1

Exemple 4
Laissez maintenant essayer d'ajouter les valeurs maximales pour chaque type. Un exemple de requête est:

Insérer dans les exemples (x, y, z) valeurs (-9223372036854775808, 9223372036854775808, 922337203685475808);

Dans l'exemple ci-dessus, comme toutes les valeurs sont dans la plage, la requête s'exécute avec succès.

Considérez la requête ci-dessous:

Insérer dans les exemples (x, y, z) valeurs (9223372036854775807, 9223372036854775808, 922337203685475808);

Vous remarquerez que toutes les valeurs sont sur les valeurs maximales. Étant donné que la colonne X est définie sur Auto_Increment, l'ajout d'une valeur échouera.

Insérer dans des exemples (y, z) valeurs (9223372036854775808, 922337203685475808);
Erreur 1062 (23000): Entrée en double '922337203685475807' pour les exemples de clé '.PRIMAIRE'

Cependant, si le mode strict est désactivé dans MySQL, vous pouvez insérer des valeurs hors gamme.

Sélectionnez * à partir d'exemples;

Conclusion

Dans ce tutoriel, nous avons discuté du type de binint MySQL et des gammes de ses divers attributs.