Dans MySQL, le type int nécessite 4 octets pour le stockage. int représente un entier standard, qui peut représenter des entiers de taille ordinaire ; le type int peut être signé ou non signé, la plage non signée est « 0~4294967295 » et la plage signée est « -2147483648~2147483647 ». Étant donné que le type entier représente un nombre exact, la colonne int est généralement utilisée comme clé primaire de la table et l'attribut AUTO_INCREMENT est défini chaque fois qu'un enregistrement est ajouté, les données de la colonne int augmenteront automatiquement avec la même taille de pas.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Les principaux types d'entiers fournis par MySQL sont TINYINT, SMALLINT, MEDIUMINT, INT et BIGINT, et des contraintes d'incrémentation automatique AUTO_INCREMENT peuvent être ajoutées à leurs champs d'attributs.
Où type int :
Nom du type | Description | Exigences de stockage |
---|---|---|
INT | Entier de taille normale | 4 octets |
Dans MySQL, INT signifie entier standard, il peut être 1, 100, 4, -10, etc., il ne peut pas être 1,2, 5/3, etc. Les entiers peuvent être nuls, positifs et négatifs.
Le type de données MySQL INT peut être signé ou non signé.
Type | Signé | Non signé | ||
---|---|---|---|---|
Minimum | Maximum | Minimum | Maximum | |
INT | -2147483648(-216) | 2147483647(-2 16) | 0 | 4294967295(-232) |
Utilisez INT dans la colonne
Parce que les types entiers représentent des nombres exacts, utilisez-le généralement comme la clé primaire du tableau. De plus, la colonne INT peut avoir l'attribut AUTO_INCREMENT, de sorte que chaque fois qu'un enregistrement est ajouté, les données de la colonne int augmenteront automatiquement avec la même taille de pas.
Lorsque vous insérez une valeur NULL ou 0 dans une colonne INT AUTO_INCREMENT, la valeur de la colonne est définie sur la valeur de séquence suivante. Notez que la valeur de séquence commence par 1.
Lorsque vous insérez une valeur non nulle ou nulle dans une colonne AUTO_INCREMENT, la colonne acceptera les valeurs NULL. De plus, la séquence est réinitialisée à la valeur suivante après la valeur insérée.
Regardons un exemple de tableau utilisant une colonne entière avec l'attribut AUTO_INCREMENT.
Tout d'abord, créez de nouveaux éléments de table avec la colonne entière comme clé primaire en utilisant l'instruction suivante :
CREATE TABLE items ( item_id INT AUTO_INCREMENT PRIMARY KEY, item_text VARCHAR(255) );
Vous pouvez utiliser INT ou INTEGER sur CREATE TABLE car ils sont égaux. Chaque fois qu'une nouvelle ligne est insérée dans la table items, la valeur de la colonne item_id est augmentée de 1.
Ensuite, l'instruction INSERT suivante insère trois lignes dans la table des éléments.
INSERT INTO items(item_text) VALUES('laptop'), ('mouse'),('headphone');
Ensuite, utilisez l'instruction SELECT suivante pour interroger les données de la table items :
SELECT * FROM items;
Après cela, insérez une nouvelle ligne, en spécifiant explicitement la valeur de item_id.
INSERT INTO items(item_id,item_text) VALUES(10,'Server');
Puisque la valeur actuelle de la colonne item_id est 10, la séquence sera réinitialisée à 11. Si une nouvelle ligne est insérée, la colonne AUTO_INCREMENT utilisera 11 comme valeur suivante.
INSERT INTO items(item_text) VALUES('Router');
Enfin, interrogez à nouveau les données de la table items pour voir les résultats.
SELECT * FROM items;
REMARQUE : Depuis MySQL 5.1, la colonne AUTO_INCREMENT n'accepte que les valeurs positives. Les colonnes AUTO_INCREMENT ne prennent pas en charge les valeurs négatives.
Extended
Après avoir ajouté la contrainte AUTO_INCREMENT, chaque valeur du champ est automatiquement augmentée. Il est donc impossible que ce champ ait la même valeur. Normalement, AUTO_INCREMENT est utilisé comme contrainte sur le champ id, et le champ id est utilisé comme clé primaire de la table.
【Recommandation associée : tutoriel vidéo 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!