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.
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;
sqlLes paramètres suivants sont utilisés :
SELECT
: la commandeSELECT
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 SQL
WHERE`, 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.
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.
- 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;
sqlTransmettre 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';
sqlMySQL, PostgreSQL, SQlite :
INSERT INTO NouvellesCommandes (Nom du client, Pays)
SELECT Nom du client, Pays
FROM Commandes
WHERE Pays = 'France';
sqlAlternatives à 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 SQLINSERT INTO SELECT
, vous copiez et transférez des enregistrements ou des résultats sélectionnés en combinaison avecSELECT
d’une table vers une table déjà existante. La différence réside dans le fait queSELECT INTO
permet de créer une nouvelle table pour la copie et le transfert.CREATE TABLE AS
: l’instruction SQLCREATE TABLE
permet de créer une nouvelle table. En combinaison avec SQLSELECT
et les alias SQL, vous pouvez définir que la nouvelle table se base sur les résultats de l’instructionSELECT
. Ainsi, elle peut contenir des données sélectionnées d’une table existante.UNION
ouUNION ALL
: avec l’opérateur SQLUNION
, 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 logiqueALL
, vous indiquez que tous les enregistrements d’une table doivent être pris en compte, y compris les doublons.IMPORT TABLE
: l’instructionIMPORT 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’instructionIMPORT 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.