L2 Info : Bases de données
 
◃  Ch. 4 Implantation des données avec SQL (DDL)  ▹
 

Les types numériques

  • Les types du standard SQL apparaissent en gras
  • PostgresQL respecte le standard, MySQL y ajoute quelques variantes
  • Les entiers
    • INT ou INTEGER
    • SMALLINT ou TINYINT (🐬)
    • BIGINT
    • Les smallint, int et bigint sont respectivement codés sur 2, 4 et 8 octets
    • MySQL rend également disponible les entiers non signés avec le mot clé UNSIGNED en préfixe
  • Les nombres décimaux (à valeur exacte)
    • DECIMAL(p,s) ou NUMERIC(p,s) avec p pour precision et s pour scale
    • type particulier permettant de mémoriser de grands nombres avec une précision exacte (moyennant un temps de calcul plus long). La précision indique le nombre maximum de chiffres utilisables, l'échelle indique le nombre constant de chiffres après la virgule. Ainsi, le nombre 1234,567 peut être associé à une précision de 7 et une échelle de 3. Avec le type NUMERIC(7,3), l'entier 43 sera représenté 43,000.
    • utile pour les monnaies par exemple
  • Les flottants
    • REAL ou FLOAT(🐬) ou BINARY_FLOAT () (codés sur 4 octets, environ 7 chiffres significatifs)
    • DOUBLE PRECISION ou DOUBLE ou BINARY_DOUBLE () (codés sur 8 octets, 15 à 16 chiffres significatifs)
    • FLOAT(p) précision variable selon la valeur de p