SQL SELECT INTO : copier des enregistrements dans des tables

Avec SQL SELECT INTO, vous copiez et transférez des enregistrements sélectionnés dans de nouvelles tables ou dans des zones de stockage temporaires. Cela offre l’avantage d’un transfert de données rapide et fiable qui vous permet de classer, d’actualiser et de nettoyer les enregistrements sans laisser de traces.

Qu’est-ce que SQL SELECT INTO ?

Le langage de base de données SQL offre une série d’outils qui vous permettent de gérer, d’analyser et de modifier votre base de données de manière professionnelle. Il s’agit notamment de commandes telles que SQL SELECT, qui permettent d’effectuer de nombreuses actions en combinaison avec d’autres opérateurs. Avec SQL SELECT DISTINCT, vous pouvez par exemple supprimer les doublons, tandis qu’avec l’opérateur SQL SELECT INTO vous pouvez copier des enregistrements d’une table dans une autre. SELECT INTO ne fait pas partie des commandes SQL, opérateurs SQL ou fonctions classiques, mais est considéré comme une clause SQL dans les instructions SQL.

Conseil

Apprenez les principales bases et fonctions de SQL, l’un des langages de programmation et de base de données les plus demandés dans tous les secteurs. Notre introduction à SQL avec exemples vous assure une prise en main rapide et réussie.

Syntaxe de SELECT INTO

La syntaxe de SELECT INTO se présente comme suit :

SELECT *
INTO nouvelle_table_cible
FROM table_existante;
sql

Les paramètres suivants sont utilisés :

  • SELECT : la commande SELECT définit les colonnes de la table existante à partir desquelles vous souhaitez copier des données. Vous pouvez soit indiquer des noms de colonnes spécifiques, soit utiliser l’astérisque * pour copier toutes les données du tableau source.
  • INTO : définit et nomme la nouvelle table cible pour les enregistrements copiés.
  • FROM : sélectionne la table existante à partir de laquelle copier les enregistrements.
  • WHERE: Avec la clause optionnelle SQLWHERE`, vous définissez d’autres conditions concrètes que les données à copier doivent remplir à partir de la table source.

Applications de SELECT INTO

En principe, SQL SELECT INTO convient pour transférer des données dans une nouvelle table. D’autres possibilités d’utilisation comprennent l’agrégation, la mise en mémoire tampon temporaire ou l’extraction d’enregistrements ou de sous-ensembles. La suppression supplémentaire des doublons, par exemple avec DISTINCT, permet en outre de nettoyer et de réduire vos données.

Les cas d’application pratiques dans différents secteurs comprennent entre autres :

  • Copier, extraire et transférer des données de clients, de commandes, de patients ou de produits pour de nouveaux projets, des études ou des migrations de données.
  • Analyser des tendances et de marketing grâce à des données agrégées de commandes et de ventes.
  • Analyser des données financières grâce au transfert de données de transaction.
  • Nettoyer des données clients ou employés en supprimant les doublons dans les nouvelles tables.
  • Collecter et analyser de données dans des entrepôts de données.
  • Collecter de données pour les modèles d’apprentissage automatique.
Conseil

Vous recherchez un système de gestion de base de données évolutif et sécurisé ? Profitez du serveur d’hébergement SQL de IONOS et découvrez des offres de serveur et d’hébergement personnalisées avec les normes européennes de protection des données.

Serveurs virtuels (VPS)
Faites le choix de la performance
  • Virtualisation complète avec accès root
  • Trafic illimité et jusqu'à 1 Gbit/s de bande passante
  • Stockage SSD NVMe rapide et édition Plesk Web Host

Exemples pratiques de SQL SELECT INTO

Pour illustrer le fonctionnement de SQL SELECT INTO, voici deux exemples d’application pratiques.

Sélectionner et transférer des clients uniques

Vous souhaitez sélectionner dans une table « Commandes » tous les résultats uniques de la colonne « Nom du client », sans lignes en double dues à des commandes multiples, et les transférer dans une nouvelle table « NouvellesCommandes » ? Procédez comme suit :

SELECT DISTINCT Nom du client
INTO NouvellesCommandes
FROM Commandes;
sql

Transmettre les entrées des clients d’une région donnée

La clause WHERE vous permet de définir plus précisément les données clients par des conditions supplémentaires. Si vous souhaitez par exemple transférer toutes les entrées avec des noms de clients qui proviennent de France, procédez comme suit :

SQL Server :

SELECT Nom du client, Pays
INTO NouvellesCommandes
FROM Commandes
WHERE Pays = 'France';
sql

MySQL, PostgreSQL, SQlite :

INSERT INTO NouvellesCommandes (Nom du client, Pays)
SELECT Nom du client, Pays
FROM Commandes
WHERE Pays = 'France';
sql

Alternatives à SQL SELECT INTO

Pour copier et transférer des données entre des tables, il existe d’autres options en plus de SELECT INTO. Nous présentons brièvement les plus importantes d’entre elles :

  • INSERT INTO SELECT : avec SQL INSERT INTO SELECT, vous copiez et transférez des enregistrements ou des résultats sélectionnés en combinaison avec SELECT d’une table vers une table déjà existante. La différence réside dans le fait que SELECT INTO permet de créer une nouvelle table pour la copie et le transfert.
  • CREATE TABLE AS : l’instruction SQL CREATE TABLE permet de créer une nouvelle table. En combinaison avec SQL SELECT et les alias SQL, vous pouvez définir que la nouvelle table se base sur les résultats de l’instruction SELECT. Ainsi, elle peut contenir des données sélectionnées d’une table existante.
  • UNION ou UNION ALL : avec l’opérateur SQL UNION, vous réunissez les enregistrements de tables et de colonnes sélectionnées dans une nouvelle table de sortie sans doublons. En combinaison avec l’opérateur logique ALL, vous indiquez que tous les enregistrements d’une table doivent être pris en compte, y compris les doublons.
  • IMPORT TABLE : l’instruction IMPORT TABLE ne convient que si vous souhaitez importer dans une table des enregistrements provenant de tables et de fichiers externes. Cette instruction est surtout disponible dans les versions récentes de SQL.
  • LOAD DATA INFILE : cette instruction fonctionne de la même manière que l’instruction IMPORT TABLE, mais elle offre une application plus flexible, bien que plus complexe, et davantage de formats pris en charge pour les sources de données externes. Elle est disponible dans toutes les versions de SQL.
Cet article vous a-t-il été utile ?
Page top