Lorsque vous créez une table MySQL, vous devez définir le type de données des champs de la table. Il existe trois grands types de données :
- Numérique
- Chaine de caractères
- Date et heure
Les champs numériques peuvent être du type
Type | Signification |
tinyint | Occupe 1 octet. Peut stocker des nombres entiers compris entre -128 à 127 si l’attribut UNSIGNED n’est pas spécifié, ou compris entre 0 et 255 dans le cas contraire. |
smallint | Occupe 2 octets. Ce type de données peut stocker des nombres entiers compris entre -32 768 à 32 767 si l’attribut UNSIGNED n’est pas spécifié, ou compris entre 0 et 65 535 dans le cas contraire. |
mediumint | Occupe 3 octets. Ce type de données peut stocker des nombres entiers compris entre -8 388 608 et 8 388 607 si l’attribut UNSIGNED n’est pas spécifié, ou compris entre 0 et 16 777 215 dans le cas contraire. |
int | Occupe 4 octets. Ce type de données peut stocker des nombres entiers compris entre -2 147 483 648 et 2 147 483 647 si l’attribut UNSIGNED n’est pas spécifié, ou compris entre 0 à 4 294 967 295 dans le cas contraire. |
bigint | Occupe 8 octets. Ce type de données stocke les nombres entiers compris entre -9 223 372 036 854 775 808 et 9 223 372 036 854 775 807 si l’attribut UNSIGNED n’est pas spécifié, ou compris entre 0 à 18 446 744 073 709 551 615 dans le cas contraire. |
float | Occupe 4 octets. Ce type de données permet de stocker des nombres flottants à précision simple, compris entre -1.175494351E-38 et 3.402823466E+38 (non UNSIGNED) ou entre 0 et 3.402823466E+38 (UNSIGNED). |
double ou real | Occupe 8 octets. Stocke des nombres flottants à double précision compris entre -1.7976931348623157E+308 et -2.2250738585072014E-308, et entre 2.2250738585072014E-308 et 1.7976931348623157E+308 (non UNSIGNED). Si l’attribut UNSIGNED est précisé, les nombres négatifs sont retirés. |
Les champs chaines de caractères peuvent être du type
Type | Signification |
Char | Chaîne de caractères de taille fixe |
Varchar | Chaîne de caractères de longueur variable comprise entre 1 et 255 caractères |
tinyblob | Chaîne de 0 à 255 caractères (sensible à la casse) |
tinytext | Chaîne de 0 à 255 caractères (insensible à la casse) |
Blob | Chaîne de 0 à 65 535 caractères (sensible à la casse) |
Text | Chaîne de 0 à 65 535 caractères (insensible à la casse) |
mediumblob | Chaîne de 0 à 16 777 215 caractères (sensible à la casse) |
mediumtext | Chaîne de 0 à 16 777 215 caractères (insensible à la casse) |
longblob | Chaîne de 0 à 4 294 967 295 caractères (sensible à la casse) |
longtext | Chaîne de 0 à 4 294 967 295 caractères maximum (insensible à la casse) |
Les champs date et heure peuvent être du type
Type | Signification |
date | Occupe 3 octets. Date au format AAAA-MM-JJ, entre 1000-01-01 et 9999-12-31 |
time | Occupe 3 octets. Date au format AAAA-MM-JJ entre1000-01-01 et 9999-12-31 |
datetime | Occupe 8 octets. Date et heure au format AAAA-MM-JJ HH:MM:SS entre 1000-01-01 00:00:00 et 9999-12-31 23:59:59 |
year | Occupe 1 octet. Année à 2 ou 4 chiffres entre 1901 et 2155 ( 4 chiffres) ou entre 1970 et 2069 (2 chiffres) |
timestamp | Occupe 4 octets. Date codée sous une forme numérique et comprise entre 1970-01-01 00:00:00 et l’année 2037 |