Aller au contenu principal

Ajouter/modifier/supprimer

Comment ajouter, modifier ou supprimer des données dans la base ?

Notions théoriques

Après avoir appris à lire des données avec SELECT, il est temps d'apprendre à manipuler les données dans une base de données SQL.

Pour cela, nous allons utiliser trois nouvelles instructions : INSERT, UPDATE et DELETE.

  1. INSERT :

Cette instruction permet d'ajouter de nouvelles lignes (enregistrements) dans une table.

INSERT INTO nom_de_la_table (colonne1, colonne2, colonne3, ...)
VALUES (valeur1, valeur2, valeur3, ...);
astuce
  • La colonne1 sera remplie avec la valeur1.
  • La colonne2 sera remplie avec la valeur2,
  • etc.

Par exemple :

INSERT INTO users (firstname, lastname, tel)
VALUES ('Patrice', 'ROF', '06 87 65 43 21');
  1. UPDATE :

Cette instruction permet de modifier les données existantes dans une table.

UPDATE nom_de_la_table
SET colonne1 = nouvelle_valeur1, colonne2 = nouvelle_valeur2, ...
WHERE condition;
astuce

La condition est très souvent de la forme WHERE id = un nombre.

Par exemple :

UPDATE users
SET tel = '06 12 34 56 78'
WHERE id = 5;

Dans cet exemple, on modifie le n° de téléphone de l'utilisateur n°5.

  1. DELETE :

Cette instruction permet de supprimer des enregistrements d'une table.

DELETE FROM nom_de_la_table WHERE condition;
astuce

La condition est très souvent de la forme WHERE id = un nombre.

Par exemple :

DELETE FROM users WHERE id = 5;

Dans cet exemple, on supprime l'utilisateur n°5.

Exemple pratique

Supposons que nous avons une base de données pour une bibliothèque, avec une table livres. Voici comment nous pourrions utiliser les instructions INSERT, UPDATE et DELETE.

  1. INSERT : Ajoutons un nouveau livre dans la table livres.
INSERT INTO livres (isbn, titre, nbpages, dateparu, prix, idediteur, idauteur, theme)
VALUES ('9781234567890', 'Nouveau Livre', 200, '2023-04-10', 15.99, 1, 1, 'Roman');
  1. UPDATE : Supposons que le prix du livre que nous venons d'ajouter a changé. Nous pouvons mettre à jour cette information avec l'instruction UPDATE.
UPDATE livres
SET prix = 14.99
WHERE isbn = '9781234567890';
  1. DELETE : Si nous devons supprimer un livre de la base de données, nous pouvons utiliser l'instruction DELETE.
DELETE FROM livres WHERE isbn = '9781234567890';
astuce

Les requêtes SQL ne sont pas sensibles à la casse.

Cela signifie que dans le langage SQL, peu importe si vous écrivez vos commandes en majuscules ou en minuscules, elles seront interprétées de la même manière.

Test de mémorisation/compréhension


Quelle instruction SQL permet d'ajouter de nouvelles données à une table ?


Quelle instruction SQL permet de modifier les données existantes dans une table ?


Quelle instruction SQL permet de supprimer des données d'une table ?


Quelle est la syntaxe correcte pour ajouter une nouvelle ligne à une table ?


Quelle est la syntaxe correcte pour modifier une ligne dans une table ?



TP pour réfléchir et résoudre des problèmes

Dans ce TP, vous allez manipuler la base de données bibliotheque que nous avons créée.

Vous allez ajouter, modifier et supprimer des données dans les tables livres, auteurs et editeurs.

Pour se connecter au serveur SQL sous Windows avec le client SQL en ligne de commandes sous Windows :

  • L'adresse IP de votre serveur SQL = localhost
  • Le compte utilisateur = root
  • Le mot de passe = root
Rappel des commandes
  • Touches Windows + R puis cmd puis Entrée
    mysql -h localhost -u root -p
  • on saisit ensuite le mot de passe root

Si le paramètre -h n'est pas renseigné, il sera par défaut localhost

donc mysql -u root -p fonctionne également.


1. Ajoutez un nouvel emprunteur dans la table emprunteurs.

Utilisez votre nom, votre prénom et votre adresse pour les colonnes nom, prenom, adresse, code, ville, telephone et utilisez 'F' ou 'M' pour la colonne sexe.


Bonne pratique - Toujours lister les colonnes dans INSERT

Écrire INSERT INTO emprunteurs (nom, prenom, ...) plutôt que INSERT INTO emprunteurs VALUES (...) permet :

  • de ne renseigner que les colonnes utiles (les autres prennent leur valeur par défaut),
  • de rendre la requête résistante aux modifications de structure de table (ajout/suppression de colonne),
  • de documenter clairement quelle valeur va dans quelle colonne.

2. Vérifiez que vous avez bien réussi à ajouter un nouvel emprunteur.

Mémorisez le nombre qui s'affiche dans la colonne idemprunteur en face de votre nom.

astuce

idemprunteur est l'identifiant de l'emprunteur, appelé clé primaire

SELECT * FROM emprunteurs;

Mémorisez le nombre qui s'affiche dans la colonne idemprunteur en face de votre nom.

Par exemple idemprunteur = 3


3. Ajoutez un nouvel auteur dans la table auteurs.

Utilisez votre nom et votre prénom pour les colonnes nom et prenom.

astuce

L'erreur "Field 'bibliographie doesn't have a default value'" signifie que la colonne bibliographie n'a pas de valeur par défaut et qu'il faut la renseigner.


4. Vérifiez que vous avez bien réussi à ajouter un nouvel auteur.

Mémorisez le nombre qui s'affiche dans la colonne idauteur en face de votre nom.

astuce

idauteur est l'identifiant de l'auteur, appelé clé primaire

SELECT * FROM auteurs;

Mémorisez le nombre qui s'affiche dans la colonne idauteur en face de votre nom.

Par exemple idauteur = 7


5. Ajoutez un nouveau livre dans la table livres.

Utilisez un titre et un ISBN de votre choix, et utilisez l'ID de l'auteur que vous venez d'ajouter pour la colonne idauteur.

Exemple :

l'ISBN du livre Cybersécurité des services informatiques est 9782206306988

idauteur = 7

Ajoutez encore le même livre dans la table livres.

Il suffit de taper sur la touche "Flêche haut" puis "Entrée".


6. Vérifiez que vous avez bien réussi à ajouter des livres.

SELECT * FROM livres;

7. Modifiez le nombre de pages du livre que vous venez d'ajouter.

Le livre de Cybersécurité a 224 pages.


Bonne pratique - Toujours utiliser WHERE avec UPDATE

Un UPDATE sans WHERE modifie toutes les lignes de la table. Avant d'exécuter un UPDATE, vérifiez toujours votre clause WHERE avec un SELECT d'abord :

SELECT * FROM livres WHERE isbn = '9782206306988';
-- Si le résultat est correct, faites le UPDATE
UPDATE livres SET nbpages = 224 WHERE isbn = '9782206306988';

8. Vérifiez que vous avez bien réussi à modifier le nombre de pages du livre.

SELECT * FROM livres;

9. Supprimez l'un des 2 livres que vous avez ajoutés dans la table livres.


Bonne pratique - SELECT avant DELETE pour verifier

Avant un DELETE, faites d'abord un SELECT avec la même clause WHERE :

SELECT * FROM livres WHERE isbn = '9782206306988';
-- Vérifiez que vous allez bien supprimer le bon enregistrement
DELETE FROM livres WHERE isbn = '9782206306988';

Un DELETE sans WHERE supprime toutes les lignes de la table — irréversible sans sauvegarde.


10. Vérifiez que vous avez bien réussi à supprimer le livre.

SELECT * FROM livres;

11. Supprimez l'auteur que vous avez ajouté dans la table auteurs.


12. Vérifiez que vous avez bien réussi à supprimer l'auteur.

SELECT * FROM auteurs;
Une solution