Data Type
Dans ce chapitre, nous allons parler des types de données utilisés dans PostgreSQL. Lors de la création d'une table, pour chaque colonne, vous spécifiez un type de données, c'est-à-dire le type de données que vous voulez stocker dans les champs de la table.
Cela permet plusieurs avantages :
- Consistency − Les opérations sur des colonnes de même type de données donnent des résultats cohérents et sont généralement les plus rapides.
- Validation − L'utilisation correcte des types de données implique la validation du format des données et le rejet des données hors de la portée du type de données.
- Compactness − Comme une colonne peut stocker un seul type de valeur, elle est stockée de manière compacte.
- Performance − Une utilisation appropriée des types de données permet un stockage plus efficace des données. Les valeurs stockées peuvent être traitées rapidement, ce qui améliore les performances.
PostgreSQL supporte un large ensemble de types de données. En outre, les utilisateurs peuvent créer leur propre type de données personnalisé en utilisant la commande SQL CREATE TYPE. Il existe différentes catégories de types de données dans PostgreSQL. Elles sont présentées ci-dessous.
Types numériques
Les types numériques se composent d'entiers de deux, quatre et huit octets, de nombres à virgule flottante de quatre et huit octets et de décimales de précision sélectionnable. Le tableau suivant répertorie les types disponibles.
Nom | Taille de stockage | Description | Range |
---|---|---|---|
smallint | 2 bytes | Petit nombre d'entiers | -32768 to +32767 |
integer | 4 bytes | Choix typique pour les entiers | -2147483648 to +2147483647 |
bigint | 8 bytes | Grand nombre d'entiers | -9223372036854775808 to 9223372036854775807 |
decimal | variable | Précision spécifiée par l'utilisateur, exact | up to 131072 digits before the decimal point; up to 16383 digits after the decimal point |
numeric | variable | Précision spécifiée par l'utilisateur, exact | up to 131072 digits before the decimal point; up to 16383 digits after the decimal point |
real | 4 bytes | Précision variable, inexacte | 6 decimal digits precision |
double precision | 8 bytes | Précision variable, inexacte | 15 decimal digits precision |
smallserial | 2 bytes | Petit entier auto incrémenté | 1 to 32767 |
serial | 4 bytes | Nombre entier auto-incrémenté | 1 to 2147483647 |
bigserial | 8 bytes | Grand entier auto incrémenté | 1 to 9223372036854775807 |
Types monétaires
Le type money stocke un montant en devise avec une précision fractionnaire fixe. Les valeurs des types de données numeric, int et bigint peuvent être converties en argent. L'utilisation de nombres à virgule flottante n'est pas recommandée pour gérer l'argent en raison du risque d'erreurs d'arrondi.
Nom | Taille de stockage | Description | Range |
---|---|---|---|
money | 8 bytes | Montant en devise | -92233720368547758.08 to +92233720368547758.07 |
Types de caractères
Besoin d'aide ?
Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !