Types de colonnes
<<<
Présentation des types numériques of Numeric Types Présentation des types de données temporels : dates et heures
>>>

12.1 Introduction aux types de colonnes
12 Types de colonnes
 Manuel de Référence MySQL 4.1 : Version Française

->Présentation des types numériques of Numeric Types
Présentation des types de données temporels : dates et heures
Présentation des types de chaînes

12.1.1 Présentation des types numériques of Numeric Types

Un résumé des colonnes numériques suit. Pour plus de détails sur les types numériques, voyez la section Types numériques . La taille des colonnes sont dans la section Taille de stockage des types .

Si vous spécifiez l'option ZEROFILL pour une valeur numérique, MySQL va automatiquement ajouter l'attribut UNSIGNED à la colonne.

Attention : soyez conscient que lorsque vous utilisez la soustraction entre deux entier, dont l'un est de type UNSIGNED , le résultat sera sans signe! Fonctions de transtypage .
    TINYINT[(M)] [UNSIGNED] [ZEROFILL]
    Un très petit entier. L'intervalle de validité pour les entiers signés est de -128 à 127 . L'intervalle de validité pour les entiers non-signés est 0 à 255 .
    BIT
    BOOL
    BOOLEAN
    Ce sont des synonymes de TINYINT(1) . Le synonyme BOOLEAN a été ajouté en version 4.1.0

    Un type booléen complet, qui sera introduit pour être en accord avec la norme SQL-99.

    SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
    Un petit entier. L'intervalle de validité pour les entiers signés est de -32768 à 32767 . L'intervalle de validité pour les entiers non-signés est 0 à 65535 .
    MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
    Un entier. L'intervalle de validité pour les entiers signés est de -8388608 à 8388607 . L'intervalle de validité pour les entiers non-signés est 0 à 16777215 .
    INT[(M)] [UNSIGNED] [ZEROFILL]
    Un grand entier. L'intervalle de validité pour les entiers signés est de -2147483648 à 2147483647 . L'intervalle de validité pour les entiers non-signés est 0 à 4294967295 .
    INTEGER[(M)] [UNSIGNED] [ZEROFILL]
    Ceci est un synonyme INT .
    BIGINT[(M)] [UNSIGNED] [ZEROFILL]
    Un très grand entier. L'intervalle de validité pour les entiers signés est de -9223372036854775808 à 9223372036854775807 . L'intervalle de validité pour les entiers non-signés est 0 à 18446744073709551615 . Quelques conseils à suivre avec les colonnes de type BIGINT :
      Tous les calculs arithmétiques sont fait en utilisant des BIGINT signés ou des valeurs DOUBLE . Il est donc recommandé de ne pas utiliser de grands entiers non-signés dont la taille dépasse 9223372036854775807 (63 bits), hormis avec les fonctions sur les bits! Si vous faîtes cela, les derniers chiffres du résultats risquent d'être faux, à cause des erreurs d'arrondis lors de la conversion de BIGINT en DOUBLE .MySQL 4.0 peut gérer des BIGINT dans les cas suivants :
        Utiliser des entiers pour stocker des grandes valeurs entières non signées, dans une colonne de type BIGINT .
        Avec MIN(big_int_column) et MAX(big_int_column) .
        Avec les opérateurs ( + , - , * , etc.) où tous les opérandes sont des entiers.
      Vous pouvez toujours stocker une valeur entière exacte BIGINT dans une colonne de type chaîne. Dans ce cas, MySQL fera des conversions chaîne / nombre, qui n'utilisera pas de représentation intermédiaire en nombre réels.
      '-' , '+' et '*' utiliseront l'arithmétique entière des BIGINT lorsque les deux arguments sont des entiers. Cela signifie que si vous multipliez deux entiers (ou des résultats de fonctions qui retournent des entiers), vous pourriez rencontrer des résultats inattendus lorsque le résultat est plus grand que 9223372036854775807 .
    FLOAT(precision) [UNSIGNED] [ZEROFILL]
    Un nombre à virgule flottante. precision peut valoir <=24 pour une précision simple, et entre 25 et 53 pour une précision double. Ces types sont identiques aux types FLOAT et DOUBLE , décrit ci-dessous. FLOAT(X) a le même intervalle de validité que FLOAT et DOUBLE , mais la taille d'affichage et le nombre de décimales est indéfini.En MySQL version 3.23, c'est un véritable nombre à virgule flottante. Dans les versions antérieures, FLOAT(precision) avait toujours 2 décimales.

    Notez qu'utiliser FLOAT peut vous donner des résultats inattendus, car tous les calculs de MySQL sont fait en double précision. Résoudre les problèmes des lignes non retournées .

    Cette syntaxe est fournie pour assurer la compatibilité avec ODBC.

    Utiliser des FLOAT peut vous donner des résultats inattendus, car les calculs sont fait en précision double. Résoudre les problèmes des lignes non retournées .

    FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
    Un petit nombre à virgule flottante, en précision simple. Les valeurs possibles vont de -3.402823466E+38 à -1.175494351E-38 , 0 , et 1.175494351E-38 à 3.402823466E+38 . Si UNSIGNED est spécifié, les valeurs négatives sont interdites. L'attribut M indique la taille de l'affichage, et D est le nombre de décimales. FLOAT sans argument et FLOAT(X) (où X est dans l'intervalle 0 à 24) représente les nombres à virgule flottante en précision simple.
    DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
    Un nombre à virgule flottante, en précision double. Les valeurs possibles vont de -1.7976931348623157E+308 à -2.2250738585072014E-308 , 0 , et 2.2250738585072014E-308 à 1.7976931348623157E+308 . Si UNSIGNED est spécifié, les valeurs négatives sont interdites. L'attribut M indique la taille de l'affichage, et D est le nombre de décimales. DOUBLE sans argument et FLOAT(X) (où X est dans l'intervale 25 to 53) représente les nombres à virgule flottante en précision double.
    DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL]
    REAL[(M,D)] [UNSIGNED] [ZEROFILL]
    Ce sont des synonymes pour DOUBLE .

    Exception : si le serveur SQL utilise l'option REAL_AS_FLOAT , REAL est alors un synonyme de FLOAT plutôt que DOUBLE .

    DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
    Un nombre à virgule flottante littéral. Il se comporte comme une colonne de type CHAR : ``littéral'' ( ``unpacked'' ) signifie que le nombre est stocké sous forme de chaîne : chaque caractère représente un chiffre. La virgule décimale et le signe moins '-' des nombres négatifs ne sont pas comptés dans M (mais de l'espace leur est réservé). Si D vaut 0, les valeurs n'auront pas de virgule décimale ou de partie décimale. L'intervale de validité du type DECIMAL est le même que DOUBLE , mais le vrai intervalle de validité de DECIMAL peut être restreint par le choix de la valeur de M et D . Si UNSIGNED est spécifié, les valeurs négatives sont interdites.

    Si D est omis, la valeur par défaut est 0. Si M est omis, la valeur par défaut est 10.

    Avant MySQL Version 3.23, l'argument M devait inclure l'espace nécessaire pour la virgule et le signe moins.
    DEC[(M[,D])] [UNSIGNED] [ZEROFILL]
    NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]
    FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]
    Ce sont des synonymes pour DECIMAL .L'alias FIXED a été ajouté en version 4.1.0 pour assurer la compatibilité avec les autres serveurs.

<< Présentation des types numériques of Numeric Types >>
Types de colonnes Introduction aux types de colonnes Présentation des types de données temporels : dates et heures