Un résumé des colonnes numériques suit. Pour plus de détails sur les types numériques, voyez la section Section 11.2, « Types numériques ». La taille des colonnes sont dans la section Section 11.5, « Capacités des colonnes ».
        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! See Section 12.7, « 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.
          
            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. See
            Section A.5.7, « 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. See Section A.5.7, « 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.
          
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.

