Les capacités de stockage de chaque type de colonnes de MySQL sont listés par catégories.
Capacités de stockage des colonnes numériques
Type de colonne | Espace requis |
TINYINT |
1 octet |
SMALLINT |
2 octets |
MEDIUMINT |
3 octets |
INT ,INTEGER
|
4 octets |
BIGINT |
8 octets |
FLOAT(p) |
4 if X <= 24 or 8 if 25 <= X <= 53 |
FLOAT |
4 octets |
DOUBLE PRECISION , REAL
|
8 octets |
DECIMAL(M,D) |
M+2 octets si D > 0, M+1 octets
si D = 0 (D +2, si M <
D ) |
Capacités de stockage des colonnes de temporelles
Type de colonne | Espace requis |
DATE |
3 octets |
DATETIME |
8 octets |
TIMESTAMP |
4 octets |
TIME |
3 octets |
YEAR |
1 octet |
Capacités de stockage des colonnes de texte
Type de colonne | Espace requis |
CHAR(M) |
M octets, 1 <= M <= 255
|
VARCHAR(M) |
L +1 octets, avec L <= M et
1 <= M <= 255
|
TINYBLOB , TINYTEXT
|
L +1 octets, avec L < 2^8 |
BLOB , TEXT
|
L +2 octets, avec L < 2^16 |
MEDIUMBLOB , MEDIUMTEXT
|
L +3 octets, avec L < 2^24 |
LONGBLOB , LONGTEXT
|
L +4 octets, avec L < 2^32 |
ENUM('valeur1','valeur2',...) |
1 ou 2 octets, suivant le nombre d'éléments de l'énumération (65535 au maximum) |
SET('valeur1','valeur2',...) |
1, 2, 3, 4 ou 8 octets, suivant le nombre de membres de l'ensemble (64 au maximum) |
Les types VARCHAR
, BLOB
et
TEXT
sont de longueur variable, et l'espace
disque requis dépend de la taille réelle de la valeur présente
dans la colonne, (taille représentée par L dans le tableau
précédent) et non pas de la taille maximale de la colonne. Par
exemple une colonne VARCHAR(10)
peut contenir
une chaîne de 10 caractères. L'espace requis est dans ce cas là
la longueur de la chaîne (L
), plus 1 octet
pour enregistrer la longueur de celle ci. Pour la chaîne
'abcd'
, L
est égal à 4 et
l'espace requis est de 5 octets.
Les types BLOB
et TEXT
requièrent 1, 2, 3, ou 4 octets pour mémoriser la taille de la
valeur dans la colonne, suivant la longueur maximale du type. See
Section 11.4.3, « Les types BLOB
et TEXT
».
Si une table inclus au moins une colonne de taille variable, la ligne sera de taille variable. Notez que lorsqu'une table est créée, MySQL peut, dans certaines circonstances, changer automatiquement une colonne de taille variable en colonne à taille fixe (et vice-versa). See Section 13.2.5.1, « Modification automatique du type de colonnes ».
La taille d'un ENUM
est déterminée par le
nombre d'éléments de l'énumération. Un octet est nécessaire
pour les énumérations ayant jusqu'à 255 valeurs possibles. Deux
octets sont nécessaires pour les énumérations ayant jusqu'à
65535 valeurs possibles. See Section 11.4.4, « Le type ENUM
».
La taille d'un SET
est déterminé par le
nombre de ses membres. Si il y en a N
, l'objet
occupe (N+7)/8
octets, arrondis à 1, 2, 3, 4,
or 8 octets. Un SET
peut avoir au plus 64
membres. See Section 11.4.5, « Le type SET
».
La taille maximale d'une ligne dans une table
MyISAM
est de 65534 octets. Les colonnes
BLOB
et TEXT
acceptent
jusqu'à 5-9 octets en dessous de cette taille.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.