Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN
Découvrez les principaux types de données SQL : entiers, varchar/text, dates et horodatages, booléens et nombres décimaux, puis apprenez à choisir le type adapté à chaque colonne.
Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.
Pourquoi les types sont importants
Chaque colonne possède un type défini. Le type détermine :
- Quelles valeurs sont valides
- La quantité d'espace de stockage utilisée par chaque ligne
- Quels opérateurs et fonctions peuvent être utilisés
- Comment le planificateur choisit les index et les jointures
Types entiers
PostgreSQL propose trois tailles d'entiers :
SMALLINT -- 2 bytes, -32768 to 32767
INTEGER -- 4 bytes, ±2.1 billion (alias: INT)
BIGINT -- 8 bytes, ±9.2 quintillion
-- Auto-incrementing variants:
SMALLSERIAL BIGSERIAL SERIALNumérique / décimal
Pour les montants et les nombres décimaux exacts, utilisez NUMERIC(precision, scale) — jamais FLOAT.
CREATE TABLE invoices (
id BIGSERIAL PRIMARY KEY,
amount NUMERIC(12, 2) NOT NULL, -- up to 10 digits + 2 decimals
tax_rate NUMERIC(5, 4) NOT NULL -- 0.0875 = 8.75%
);Virgule flottante ou numérique
REAL (4 octets) et DOUBLE PRECISION (8 octets) sont approximatifs : ils arrondissent les fractions binaires. Ils conviennent aux sciences, mais sont désastreux pour les montants.
-- Inexact:
SELECT 0.1::FLOAT + 0.2::FLOAT; -- 0.30000000000000004
-- Exact:
SELECT 0.1::NUMERIC + 0.2::NUMERIC; -- 0.3Types texte : VARCHAR ou TEXT
PostgreSQL possède deux principaux types texte :
-- VARCHAR(n) — variable-length, max n characters
email VARCHAR(255)
-- TEXT — variable-length, no declared limit
description TEXT
-- In PostgreSQL both have the same performance.
-- VARCHAR(n) just adds a length check.
-- CHAR(n) (fixed-length, blank-padded) — avoid.Date et heure
Utilisez les types date et heure — ne stockez jamais les dates sous forme de chaînes :
DATE -- 2024-03-15
TIME -- 14:30:00
TIMESTAMP -- 2024-03-15 14:30:00 (no time zone)
TIMESTAMPTZ -- 2024-03-15 14:30:00+02 (recommended)
INTERVAL -- 1 day, 3 hours
-- Prefer TIMESTAMPTZ unless you have a strong reason not to.Booléen
BOOLEAN stocke TRUE, FALSE ou NULL.
CREATE TABLE tasks (
id BIGSERIAL PRIMARY KEY,
done BOOLEAN NOT NULL DEFAULT false
);
SELECT * FROM tasks WHERE done; -- shorthand for done = true
SELECT * FROM tasks WHERE NOT done;UUID
Pour les identifiants uniques à l'échelle mondiale :
CREATE TABLE api_keys (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id BIGINT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);JSON et JSONB
Pour les documents semi-structurés :
-- JSON — text, preserves whitespace, no index
-- JSONB — binary, deduplicated keys, indexable with GIN
CREATE TABLE events (
id BIGSERIAL PRIMARY KEY,
payload JSONB NOT NULL
);Tableaux
Les colonnes PostgreSQL peuvent être des tableaux de n'importe quel type de base :
CREATE TABLE posts (
id BIGSERIAL PRIMARY KEY,
title TEXT NOT NULL,
tags TEXT[] NOT NULL DEFAULT '{}'
);
INSERT INTO posts (title, tags) VALUES
('Hello', ARRAY['sql', 'intro']);
SELECT * FROM posts WHERE 'sql' = ANY(tags);Choisir le bon type
Quelques règles générales :
- Montants →
NUMERIC(jamaisFLOAT) - Identifiants →
BIGSERIALouUUID - Dates →
TIMESTAMPTZpour les événements,DATEpour les jours calendaires - Codes courts →
VARCHAR(n); textes longs →TEXT - Indicateurs →
BOOLEAN
Récapitulatif
Choisissez le type le plus précis qui convient.
- Les bons types = des index plus petits, de meilleures statistiques et moins de bogues
- NUMERIC pour les nombres décimaux exacts
- TIMESTAMPTZ pour les horodatages d'événements
- Évitez de stocker des données typées sous forme de chaînes : vous perdez la validation et l'indexation
Vérification rapide
Vous devez stocker le prix d'un produit. Quel type devez-vous choisir ?
Questions Fréquemment Posées
La leçon « Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN » est-elle gratuite ?
Oui — le texte complet de « Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN » ?
Découvrez les principaux types de données SQL : entiers, varchar/text, dates et horodatages, booléens et nombres décimaux, puis apprenez à choisir le type adapté à chaque colonne. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer SQL Academy ?
Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?
Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Qu’est-ce qu’un RDBMS et pourquoi les tables sont importantes
- Clés primaires et unicité
- NULL : la troisième valeur de vérité
- Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN