Les différents types de données en SQL :
Lorsque vous créez une table MySQL, vous devez assigner des types de données à des champs. Il existe 3 grand types de champs :
Choisissez bien le type de données que vous allez assigner à vos champs. Ils permettent d'optimiser la place prise par vos données ainsi que la rapidité de traitement.
Les champs numériques :
Tinyint : Occupe 1 octet. Ce type peut stocker des nombres entiers de -128 à 127 si il ne porte pas l'attribut UNSIGNED, dans le cas contraire il peut stocker des entiers de 0 à 255.
Smallint : Occupe 2 octets. Ce type de données peut stocker des nombres entiers de -32 768 à 32 767 si il ne porte pas l'attribut UNSIGNED, dans le cas contraire il peut stocker des entiers de 0 à 65 535.
Mediumint : Occupe 3 octets. Ce type de données peut stocker des nombres entiers de -8 388 608 à 8 388 607 si il ne porte porte pas l'attribut UNSIGNED, dans le cas contraire il peut stocker des entiers de 0 à 16 777 215.
Int : Occupe 4 octets. Ce type de données peut stocker des nombres entiers de -2 147 483 648 à 2 147 483 647 si il ne porte pas l'attribut UNSIGNED, dans le cas contraire il peut stocker des entiers de 0 à 4 294 967 295.
Begint : Occupe 8 octets. Ce type de données stocke les nombres entiers allant de -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 sans l'attribut UNSIGNED, et de 0 à 18 446 744 073 709 551 615 avec.
Float : Occupe 4 octets. Ce type de données permet de stocker des nombres flottants à précision simple. Va de -1.175494351E-38 à 3.402823466E+38. Si UNSIGNED est activé, les nombres négatifs sont retirés mais ne permettent pas d'avoir des nombres positifs plus grands.
Double : Occupe 8 octets. Stocke des nombres flottants à double précision de -1.7976931348623157E+308 à -2.2250738585072014E-308, 0, et de 2.2250738585072014E-308 à 1.7976931348623157E+308.
Si UNSIGNED est activé, les nombres négatifs sont retirés mais ne permettent pas d'avoir des nombres positifs plus grands.
Real : Occupe 8 octets. Même chose que le type DOUBLE
Les chaines de caractères :
Char : Chaîne de caractères de taille fixe
Varchar : Chaîne de caractères compris entre 1 et 255 caractères
Tinyblob : Stocke des chaînes de 255 caractères maximum. Ce champ est sensible à la casse
Tinytext : Stocke des chaînes de 255 caractères maximum. Ce champ est insensible à la casse
Blob : Stocke des Chaînes de 65535 caractères maximum. Ce champ est sensible à la casse.
Text : Stocke des chaînes de 65535 caractères maximum. Ce champ est insensible à la casse.
Mediumblob : Stocke des chaînes de 16777215 caractères maximum.
Mediumtext : Chaîne de 16 777 215 caractères maximum. Ce champ est insensible à la casse.
Longblob : Stocke des chaînes de 4 294 967 295 caractères maximum. Ce champ est sensible à la casse.
Longtext : Stocke des chaînes de 4 294 967 295 caractères maximum.
Les champs de type date et heure :
Date : Occupe 3 octets. Stocke une date au format 'AAAA-MM-JJ' allant de '1000-01-01' à '9999-12-31'
Time : Occupe 3 octets. Stocke une date au format 'AAAA-MM-JJ' allant de '1000-01-01' à '9999-12-31'
Datetime : Occupe 8 octets. Stocke une date et une heure au format 'AAAA-MM-JJ HH:MM:SS' allant de '1000-01-01 00:00:00' à '9999-12-31 23:59:59'
Year : Occupe 1 octet. Année à 2 ou 4 chiffres allant de 1901 à 2155 ( 4 chiffres) et de 1970-2069 (2 chiffres).
Timestamp : Occupe 4 octets. Stocke une date sous forme numérique allant de '1970-01-01 00:00:00' à l'année 2037. L'affichage dépend des valeurs de M : AAAAMMJJHHMMSS, AAMMJJHHMMSS, AAAAMMJJ, ou AAMMJJ