En SQL, les types de données spécifient le type d'informations qui peut être stocké dans une colonne. Choisir le type de données approprié est crucial pour l'intégrité des données, l'efficacité du stockage et les performances des requêtes. Cette leçon couvre les types de données courants et leurs sous-types utilisés dans les bases de données SQL, ainsi que leurs plages de valeurs.
Les types numériques servent à stocker des valeurs numériques.
INT ou INTEGER : généralement un entier sur 4 octets.SMALLINT : généralement 2 octets.BIGINT : généralement 8 octets.TINYINT : généralement 1 octet.TINYINT : -128 à 127 (signe) ou 0 à 255 (non signé)SMALLINT : -32 768 à 32 767INT : -2 147 483 648 à 2 147 483 647BIGINT : -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807DECIMAL(10, 2) peut stocker des nombres avec 10 chiffres au total, dont 2 après la virgule.FLOAT : nombre en simple précision.DOUBLE / DOUBLE PRECISION : double précision.REAL : synonyme de FLOAT dans certains SGBD.Les types de caractères sont utilisés pour stocker du texte.
CHAR(10) stocke des chaînes de exactement 10 caractères.VARCHAR(255) stocke des chaînes jusqu'à 255 caractères.VARCHAR.Les types date et heure servent à stocker des valeurs temporelles.
TIMESTAMP a souvent un comportement spécial lié aux fuseaux horaires et aux mises à jour automatiques.Il est important de comprendre le concept de NULL en SQL. NULL représente une valeur manquante ou inconnue. Une colonne peut être définie pour autoriser ou non les NULL. Contrairement aux autres types, NULL n'est pas un type de données en soi, mais plutôt une propriété d'une colonne. Il est crucial de gérer correctement les valeurs NULL dans les requêtes pour éviter des résultats inattendus. Les comparaisons avec NULL doivent s'effectuer en utilisant IS NULL ou IS NOT NULL.
VARCHAR plutôt que CHAR sauf si vous avez besoin de chaînes à longueur fixe.DECIMAL pour les valeurs numériques exactes, en particulier pour les montants monétaires.En comprenant les types de données disponibles et leurs caractéristiques, vous pouvez concevoir des bases de données efficaces, fiables et faciles à maintenir.
Points clés de cette leçon :
INTEGER, DECIMAL et FLOAT sont utilisés pour stocker des nombres, chacun avec des caractéristiques différentes de précision et de plage.CHAR, VARCHAR et TEXT servent à stocker du texte, avec des contraintes de longueur et des implications de stockage différentes.DATE, TIME et DATETIME sont utilisés pour stocker des données temporelles.BOOLEAN, BLOB et JSON permettent de stocker respectivement des booléens, des données binaires et des données semi-structurées.NULL représente une valeur manquante ou inconnue et nécessite une gestion explicite.