CRUD : définition
CRUD est l’acronyme de Create, Read, Update, Delete : les 4 opérations fondamentales utilisées pour manipuler des données dans une base (ou via une API).
En clair, un système CRUD permet de :
- Créer une nouvelle donnée (ex : ajouter un client)
- Lire une donnée (ex : afficher un client / lister les clients)
- Mettre à jour une donnée (ex : changer un email)
- Supprimer une donnée (ex : retirer un client)
ℹ️ Pourquoi c’est important ?
Le CRUD est la base de la majorité des applications : gestion d’utilisateurs, articles, produits, tickets, commandes, etc.
À quoi sert un CRUD ?
Le CRUD sert à standardiser la gestion des données et à rendre l’application :
- plus simple à développer (mêmes opérations partout)
- plus maintenable (structure claire)
- plus fiable (validation + contraintes + transactions)
- plus sécurisée (requêtes paramétrées, gestion des droits)
💡 Astuce
Quand tu crées une nouvelle entité (client, produit, article…), pose-toi directement la question : “Quelles opérations CRUD je dois exposer ?”
Exemple complet : CRUD sur une table clients
On part sur un exemple simple : une table clients avec un email unique.
1) Création de la table
CREATE TABLE clients (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
nom VARCHAR(120) NOT NULL,
email VARCHAR(190) NOT NULL,
telephone VARCHAR(30) NULL,
actif TINYINT(1) NOT NULL DEFAULT 1,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NULL,
PRIMARY KEY (id),
UNIQUE KEY uk_clients_email (email),
KEY idx_clients_nom (nom)
) ENGINE=InnoDB;⚠️ Attention
Une contrainteUNIQUEsur
C — Create (Créer)
Créer un client = INSERT.
INSERT INTO clients (nom, email, telephone)
VALUES ('Alice Martin', 'alice.martin@mail.fr', '0601020304');Récupérer l’ID généré (MySQL/MariaDB) :
SELECT LAST_INSERT_ID() AS new_id;💡 Astuce
En application, utilise des requêtes préparées (paramètres) pour éviter l’injection SQL.
R — Read (Lire)
Lire une donnée = SELECT.
Lire un client par ID
SELECT id, nom, email, telephone, actif, created_at, updated_at
FROM clients
WHERE id = 1;Lister les clients actifs
SELECT id, nom, email, telephone
FROM clients
WHERE actif = 1
ORDER BY id DESC;Rechercher par nom ou email
SELECT id, nom, email, telephone
FROM clients
WHERE actif = 1
AND (nom LIKE '%mart%' OR email LIKE '%mart%')
ORDER BY nom ASC;…
🔒
Accès complet réservé aux membres
Connecte-toi pour lire l’article en entier.