Supprimer et insérer des données dans une table de données à l’aide de requêtes SQL

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).

ACCESS - Requête INSERT INTO

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 (!) :

ACCESS - Exécuter

Un message alerte l’utilisateur sur l’irréversibilité de la suppression des données :

ACCESS - Message suppression

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

Share Button
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.