![]() ![]() |
|
![]() ![]() ![]() ![]() |
|
![]() |
![]() 7.2 Types de colonnesM
Indique la taille maximale d'affichage. La taille maximale autorisée par défaut est 255.
D
S'applique aux types à virgule flottante, et précise le nombre de chiffre après la virgule.
Crochets (``['' et ``]'') indique que cet argument est optionnel.
NB : Il est toujours possible de spécifier TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Un très petit entier. Signé, il couvre l'intervalle -128 à 127 ; non signé, il couvre 0 à 255 .
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Un petit entier. Signé, il couvre l'intervalle -32768 à 32767 ; non signé, il couvre 0 à 65535 .
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Un entier de taille intermédiaire. Signé, il couvre l'intervalle -8388608 à 8388607 ; non signé, il couvre 0 à 16777215 .
INT[(M)] [UNSIGNED] [ZEROFILL]
Un entier de taille normale. Signé, il couvre l'intervalle -2147483648 à 2147483647 ; non signé, il couvre 0 à 4294967295 .
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Un synonyme pour INT .
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Un entier de grande taille. Signé, il couvre l'intervalle -9223372036854775808 à 9223372036854775807 ; non signé, il couvre 0 à 18446744073709551615 .
NB : toutes les opérations arithmétiques effectuée en interne, utilise des BIGINT signés ou DOUBLE , donc il ne faut pas utiliser les grands entiers non signé au delà de 9223372036854775807 (63 bits), hormis pour les fonctions sur les bits.
NB : les opérations - , + et * utiliseront des BIGINT , même lorsque les arguments seront des entiers. Cela signifie que la multiplication de deux grands entiers (ou le résultat de fonction qui retourne des entiers) peut avoir des résultats surprenants, si le résultat est supérieur à 9223372036854775807
FLOAT(precision) [ZEROFILL]
Un nombre à virgule flottante. Il est obligatoirement signé. precision peut prendre les valeurs de 4 ou 8. FLOAT(8) est un nombre à précision double. Ces types sont identiques aux types FLOAT et DOUBLE décrit ci-dessous, mais leur précision peut être paramétrée. Avec MySQL 3.23, ce sont de vrais nombres à virgule flottante, alors qu'avec les anciennes versions, FLOAT(precision) n'avait que 2 décimales. Cette syntaxe a été ajoutée pour assurer la compatibilité ODBC.
FLOAT[(M,D)] [ZEROFILL]
Un nombre à virgule flottante, en précision simple. Il est toujours signé. Les valeurs sont comprises -3.402823466E+38 et -1.175494351E-38 .
DOUBLE[(M,D)] [ZEROFILL]
Un nombre à virgule flottante, en précision double. Il est toujours signé. Les valeurs sont comprises -1.7976931348623157E+308 et 2.2250738585072014E-308.
DOUBLE PRECISION[(M,D)] [ZEROFILL]
REAL[(M,D)] [ZEROFILL]
Des synonymes pour DOUBLE .
DECIMAL(M,D) [ZEROFILL]
Un nombre à virgule flottante. Il est toujours signé. Il se comporte comme une colonne CHAR . Il n'est pas paqué, c'est à dire que le nombre est stocké comme une chaîne de chiffre. Chaque chiffre, le signe moins, la virgule occupe un caractère. Si D vaut 0, le nombre n'aura pas de décimales, ni de virgule. La taille maximale pour les décimales est la même que pour les DOUBLE , mais en il peut être limité par le choix de of M et D . Avec MySQL 3.23, M n'inclut plus le signe moins``-'', ni la virgule des nombres décimaux (norme ANSI SQL.).
NUMERIC(M,D) [ZEROFILL]
Un synonyme pour DECIMAL .
DATE
Une date. L'intervalle valide de date va de '1000-01-01' à '9999-12-31' . MySQL affiche les DATE avec le format , mais il est possible d'affecter des DATE en utilisant indifféremment des chaînes ou des nombres.
DATETIME
Une combinaison de date et d'heure. L'intervalle valide va de '1000-01-01 00:00:00' to '9999-12-31 23:59:59' . MySQL affiche DATETIME avec le format 'YYYY-MM-DD HH:MM:SS', mais il est possible d'affecter des DATETIME en utilisant indifféremment des chaînes ou des nombres.
'1970-01-01 00:00:00' à quelque part, durant l'année 2037. MySQL affiche les TIMESTAMP avec les format YYYYMMDDHHMMSS , YYMMDDHHMMSS , YYYYMMDD ou YYMMDD , suivant que M vaut 14 (ou absent), 12 , 8 ou 6 , mais il est possible d'affecter des TIMESTAMP en utilisant indifféremment des chaînes ou des nombres. Une colonne de type TIMESTAMP est très pratique pour enregistrer des dates et heures lors d'un INSERT ou UPDATE , car cette colonne sera automatiquement mis à la date et heure de l'opération la plus récente, si aucune valeur n'est précisée. Il est aussi possible d'affecter l'heure courante en assignant la valeur NULL à une colonne de type . ( 7.2.6 Types date et heure)
TIME
Une mesure de l'heure. L'intervalle valide est '-838:59:59' à '838:59:59' . MySQL affiche TIME au format 'HH:MM:SS', mais il est possible d'affecter des TIME en utilisant indifféremment des chaînes ou des nombres.
YEAR
Un an. L'intervalle valide est 1901 à 2155 , et 0000 . MySQL affiche YEAR au format YYYY, mais il est possible d'affecter des YEAR en utilisant indifféremment des chaînes ou des nombres}(Le type YEAR est nouveau en MySQL 3.22.)
CHAR(M) [BINARY]
Une chaîne de caractère de taille fixe, et toujours complétée à droite par des espaces. M va de 1 à 255 caractères. Les espaces supplémentaires sont supprimés lorsque la valeur est retournée dans une requête. Les tris et comparaisons effectués sur des valeurs de type CHAR sont insensibles à la casse, à moins que le mot clé BINARY soit précisé.
VARCHAR(M) [BINARY]
Une chaîne de caractère de longueur variable. Les espaces en fin de chaîne sont supprimés lorsque la chaîne est stockée (ce n'est pas conforme à la norme ANSI SQL). Va de 1 a 255 caractères . Les tris et comparaisons effectués sur des valeurs de type VARCHAR sont insensibles à la casse, à moins que le mot clé BINARY soit précisé. Voir aussi la section 7.6.1 Modifications automatiques de type de colonne.
TINYBLOB
TINYTEXT
Un objet BLOB ou TEXT avec une longueur maximale de 255 (2^8 - 1). Voir aussi la section 7.6.1 Modifications automatiques de type de colonne.
BLOB
TEXT
Un objet BLOB ou TEXT avec une longueur maximale de 65535 (2^16 - 1). 7.6.1 Modifications automatiques de type de colonne.
MEDIUMBLOB
MEDIUMTEXT
Un objet BLOB ou TEXT avec une longueur maximale de 16777215 (2^24 - 1). 7.6.1 Modifications automatiques de type de colonne.
LONGBLOB
LONGTEXT
Un objet BLOB ou TEXT avec une longueur maximale de 4294967295 (2^32 - 1). 7.6.1 Modifications automatiques de type de colonne.
ENUM('value1','value2',...)
Une énumération. Un objet chaîne peut prendre une des valeurs contenue dans une liste de valeur 'value1' , 'value2' , ... , ou NULL . Une ENUM peut avoir un maximum de 65535 valeurs distinctes.
SET('value1','value2',...)
Un ensemble. Un objet chaîne peut prendre une ou plusieurs valeurs, chacun de ces valeur devant être contenue dans une liste de valeurs 'value1' , 'value2' , ... . Un SET peut prendre jusqu'à 64 éléments.
|