La mise à jour de bases de données volumineuses passe utilement par des requêtes : les requêtes suppression (DELETE) et les requêtes insertion (INSERT).
Ces requêtes sont susceptibles d’avoir des effets non désirés sur les données non réversibles en cas d’erreurs de programmation : faire une sauvegarde des données avant toute exécution d’une table avant toute requête DELETE ou INSERT est une sage précaution.
Les requêtes DELETE et INSERT se construisent d’une manière similaire aux requêtes sélection (SELECT).
Requête suppression (DELETE) :
DELETE FROM table WHERE condition1, condition2...;
Pour supprimer tous les enregistrements d’une table, la requête se limite au texte suivant :
DELETE FROM table;
La clause WHERE spécifie les critères des enregistrements à supprimer. Pour plus de détail sur la rédaction de la clause WHERE, se reporter aux requêtes sélection (SELECT).
Exemple : supprimer les écritures comptables datées du 31/12/2018 :
DELETE FROM Ecritures2016 WHERE (Ecritures2016.DatePiece=#12/31/2018#);
Sous ACCESS, avant d’exécuter la requête, cliquer sur l’icône Mode Feuille de données pour visualiser les enregistrements qui seront effacés.
Pour exécuter la requête, cliquer sur l’icône Exécuter (!) :
Un message alerte l’utilisateur sur l’irréversibilité de la suppression des données :
Requête insertion (INSERT) :
La requête insertion permet d’insérer des enregistrements dans une table de données. Ce type de requêtes est initié par une clause INSERT INTO suivi du nom de la table qui accueille les nouveaux enregistrements. Les enregistrements à insérer sont énumérés à l’aide d’une requête sélection (clauses SELECT, FROM et WHERE, cette dernière étant optionnelle).
INSERT INTO tabledestination SELECT * FROM tablesource WHERE condition1, condition2...;
Pour exécuter la requête, cliquer sur l’icône Exécuter.
La requête suivante insère tous les enregistrements de la table “tablesource” dans la table “tabledestination” :
INSERT INTO tabledestination SELECT * FROM tablesource;
L’insertion des données peut être conditionnée au respect de certains critères avec une clause WHERE selon les mêmes modalités qu’avec une requête sélection :
INSERT INTO Ecritures2018 SELECT * FROM Ecritures WHERE (Ecritures.DatePiece=#12/31/2018#);
Dans cet exemple, seules les écritures du 31/12/2018 seront insérées dans la table “Ecritures2018” à partir de la table “Ecritures”.
Approfondir le sujet : Maîtriser le langage de requête SQL / les opérateurs / Analyse de données
Derniers articles parBenoît RIVIERE (voir tous)
- Interpréteur de formules de calcul en Python - dimanche 13 octobre 2024
- Les données de la facturation électronique - mercredi 9 octobre 2024
- VBA/SQL vs Power Query : deux solutions complémentaires - mercredi 2 octobre 2024
- L’IA dans les cabinets comptables : cas concrets - jeudi 26 septembre 2024
- EXCEL : insérer une image ou un logo dans une cellule - lundi 16 septembre 2024