0Pricing
SQL Academy · Leçon

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  SERIAL

Numé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.3

Types 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 (jamais FLOAT)
  • Identifiants → BIGSERIAL ou UUID
  • Dates → TIMESTAMPTZ pour les événements, DATE pour 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

  1. Qu’est-ce qu’un RDBMS et pourquoi les tables sont importantes
  2. Clés primaires et unicité
  3. NULL : la troisième valeur de vérité
  4. Vue d’ensemble des types de données : INT VARCHAR DATE BOOLEAN
← Retour à SQL Academy