Maison >base de données >tutoriel mysql >Que représente int(11) dans MYSQL
Je dois souvent gérer MySQL au travail, mais j'ai toujours eu une vague compréhension des différents types de champs de MySQL. Que représente int(11) dans MYSQL ? Vous ne le savez peut-être pas très bien, j'ai donc écrit cet article pour le résumer et l'enregistrer.
En fait, certaines connaissances de base du type int ont été expliquées très clairement dans l'image ci-dessus, j'aimerais discuter ici de ce qui est couramment utilisé. int(11) représentants. Qu'est-ce que cela signifie ? Pendant longtemps, j'ai pensé que cela signifiait limiter la longueur de int à 11 chiffres. Ce n'est que lorsque j'ai lu un article un jour que j'ai réalisé que 11 ne représentait pas la longueur. , mais la largeur d'affichage du caractère , lorsque le type de champ est int, peu importe combien vous définissez la largeur d'affichage, les valeurs maximales et minimales que le type int peut stocker sont toujours corrigé. Voici quelques extraits de texte originaux
Le nombre entre parenthèses ne détermine pas les valeurs max et min pouvant être stockées dans le champ entier. être stockées sont toujours fixes.Non signéLa largeur d'affichage de la colonne n'affecte pas la valeur maximale qui peut être stockée dans cette colonne. Une colonne avec INT(5) ou INT(11) peut également stocker les mêmes valeurs maximales. si vous avez une colonne INT(20), cela ne signifie pas que vous pourrez stocker des valeurs à 20 chiffres (valeurs BIGINT). La colonne ne stockera toujours que jusqu'aux valeurs maximales de INT. La valeur et la valeur minimale. sont fixes, alors à quoi sert cette largeur d’affichage ?
Lorsque le type de champ int est défini sur
et
Rempli de zéros (UNSIGNED ZEROFILL), lorsque le nombre de chiffres n'atteint pas la largeur d'affichage définie, des zéros seront ajoutés devant la valeur. Jusqu'à ce que la largeur d'affichage définie soit atteinte, pourquoi y a-t-il une limite non signée ? C'est parce que l'attribut ZEROFILL convertit implicitement la valeur en un type non signé, donc les valeurs négatives ne peuvent pas être stockées. Le code suivant est utilisé pour expliquer spécifiquement.
Insérez deux éléments de données
CREATE TABLE int_demo ( id INT(11) NOT NULL AUTO_INCREMENT, a INT(11) NOT NULL, b INT(11) UNSIGNED ZEROFILL NOT NULL, c INT(5) DEFAULT NULL, d INT(5) UNSIGNED ZEROFILL NOT NULL, e INT(15) DEFAULT NULL, PRIMARY KEY (`id`) )
INSERT INTO int_demo (a, b, c, d, e) VALUES (1, 1, 1, 1, 1); INSERT INTO int_demo (a, b, c, d, e) VALUES (1234567890, 1234567890, 1234567890, 1234567890, 1234567890);Remarque : Si vous utilisez le logiciel Navicate pour interroger ça, ça ne marchera pas. Le 0 à gauche sera affiché, mais lorsque vous exportez les données, vous pouvez voir les données réelles, je suppose que le logiciel a traité le format des données ?
select * from int_demo;
id | a | b | c | d | e |
---|---|---|---|---|---|
1 | 1 | 00000000001 | 1 | 00001 | 1 |
2 | 1234567890 | 01234567890 | 1234567890 | 1234567890 | 1234567890 |
Tutoriel Comment numéroter automatiquement les résultats des données de requête dans la méthode MYSQL
Comment afficher l'emplacement de stockage des fichiers de données MySQL
Exploration des performances de pagination MySQL
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!