Répertoire d'articles
MySQLQuels sont les types de données pris en charge ?MySQLDétails des types de données dans
Types de données MySQL
Les types de champs de données définis dans MySQL sont très importants pour l'optimisation de votre base de données.
MySQL prend en charge une variété de types, qui peuvent être grossièrement divisés en trois catégories : types numériques, date/heure et chaîne (caractère).
Type numérique
Base de données MySQLTous les types de données numériques SQL standard sont pris en charge.
Ces types incluent des types de données numériques stricts (INTEGER, SMALLINT, DECIMAL et NUMERIC) et des types de données numériques approximatifs (FLOAT, REAL et DOUBLE PRECISION).
Le mot-clé INT est synonyme de INTEGER et le mot-clé DEC est synonyme de DECIMAL.
Le type de données BIT contient des valeurs de champ de bits et prend en charge les tables MyISAM, MEMORY, InnoDB et BDB.
En tant qu'extension du standard SQL, MySQL prend également en charge les types d'entiers TINYINT, MEDIUMINT et BIGINT.Le tableau ci-dessous indique le stockage et la plage requis pour chaque type d'entier.
Type | 大小 | gamme (signé) | gamme (non signé) | utilisation |
---|---|---|---|---|
PETIT INT | 1 octet | (-128, 127) | (0, 255) | petite valeur entière |
INTEMPLE | 2 octet | (-32 768, 32 767) | (0, 65 535) | grande valeur entière |
MOYENINT | 3 octet | (-8 388 608, 8 388 607) | (0, 16 777 215) | grande valeur entière |
INT ou INTEGER | 4 octet | (-2 147 483 648, 2 147 483 647) | (0, 4 294 967 295) | grande valeur entière |
GRAND | 8 octet | (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) | (0, 18 446 744 073 709 551 615) | très grande valeur entière |
FLOAT | 4 octet | (-3.402 823 466 E+38, -1.175 494 351 E-38), 0, (1.175 494 351 E-38, 3.402 823 466 351 E+38) | 0, (1.175 494 351 E-38, 3.402 823 466 E+38) | simple précision valeur à virgule flottante |
DOUBLE | 8 octet | (-1.797 693 134 862 315 7 E+308, -2.225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) | 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) | double precision valeur à virgule flottante |
DÉCIMAL | Pour DECIMAL(M,D), si M>D, c'est M+2 sinon c'est D+2 | dépend des valeurs de M et D | dépend des valeurs de M et D | valeur décimale |
type de date et d'heure
Les types de date et d'heure qui représentent les valeurs de temps sont DATETIME, DATE, TIMESTAMP, TIME et YEAR.
Chaque type de temps a une plage de valeurs valides et une valeur "zéro", qui est utilisée lors de la spécification d'une valeur invalide que MySQL ne peut pas représenter.
Le type TIMESTAMP possède une fonction propriétaire de mise à jour automatique qui sera décrite plus loin.
Type | 大小 (octet) | gamme | format | utilisation |
---|---|---|---|---|
DATES | 3 | 1000-01-01 / 9999-12-31 | AAAA-MM-JJ | valeur de date |
3 | ‘-838:59:59'/'838:59:59' | HH:MM:SS | valeur temporelle ou durée | |
ANNÉE | 1 | 1901/2155 | AAAA | valeur de l'année |
Datetime | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | AAAA-MM-JJ HH: MM: SS | Valeurs de date et d'heure mixtes |
TIMESTAMP | 4 | 1970-01-01 00:00:00/2037 年某时 | AAAAMMDD HHMMSS | valeurs de date et d'heure mixtes, horodatage |
Type de chaîne
Les types de chaîne font référence à CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM et SET.Cette section décrit le fonctionnement de ces types et leur utilisation dans les requêtes.
Type | 大小 | utilisation |
---|---|---|
CARBONISER | 0-255 octets | chaîne de longueur fixe |
VARCHAR | 0-65535 octets | chaîne de longueur variable |
PETIT BLOB | 0-255 octets | chaîne binaire de 255 caractères maximum |
TINYTEXTE | 0-255 octets | chaîne de texte courte |
BLOB | 0-65 535 octets | données textuelles longues sous forme binaire |
TEXTE | 0-65 535 octets | données textuelles longues |
BLOB MOYEN | 0-16 777 215 octets | Données textuelles de longueur moyenne sous forme binaire |
TEXTE MOYEN | 0-16 777 215 octets | données textuelles de longueur moyenne |
LONGBLOB | 0-4 294 967 295 octets | Données textuelles très volumineuses sous forme binaire |
LONGTEXTE | 0-4 294 967 295 octets | données textuelles très volumineuses |
Les types CHAR et VARCHAR sont similaires, mais ils sont stockés et récupérés différemment.Ils diffèrent également en termes de longueur maximale et si les espaces de fin sont préservés.Aucune conversion de cas n'est effectuée pendant le stockage ou la récupération.
Les classes BINARY et VARBINARY sont similaires à CHAR et VARCHAR, sauf qu'elles contiennent des chaînes binaires au lieu de chaînes non binaires.Autrement dit, ils contiennent des chaînes d'octets au lieu de chaînes de caractères.Cela signifie qu'ils n'ont pas de jeu de caractères et que le tri et la comparaison sont basés sur les valeurs numériques des octets de valeur de colonne.
Un BLOB est un grand objet binaire qui peut contenir une quantité variable de données.Il existe 4 types de BLOB : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB.Ils diffèrent simplement par la longueur maximale de la valeur qu'ils peuvent contenir.
Il existe 4 types de TEXT : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT.Ceux-ci correspondent aux 4 types de BLOB, avec les mêmes exigences de longueur maximale et de stockage.
J'espère que le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) partagé "Quels sont les types de données pris en charge par MySQL ? Explication détaillée des types de données dans MySQL" pour vous aider.
Bienvenue à partager le lien de cet article :https://www.chenweiliang.com/cwl-466.html
Bienvenue sur la chaîne Telegram du blog de Chen Weiliang pour obtenir les dernières mises à jour !
📚 Ce guide contient une valeur énorme, 🌟C'est une opportunité rare, ne la manquez pas ! ⏰⌛💨
Partagez et likez si vous aimez !
Vos partages et likes sont notre motivation continue !