Avec SQL, vous pouvez copier des informations d'une table dans un autre.
Le SELECT INTO copies des données d'une table et l'insère dans une nouvelle table.
L'instruction SQL SELECT INTO
L'instruction SELECT INTO sélectionne les données d'une table et l'insère dans une nouvelle table.
SQL SELECT INTO Syntaxe
Nous pouvons copier toutes les colonnes dans la nouvelle table:
SELECT *
INTO newtable [IN externaldb ]
FROM table1;
Ou nous pouvons copier uniquement les colonnes que nous voulons dans la nouvelle table:
SELECT column_name(s)
INTO newtable [IN externaldb ]
FROM table1;
La nouvelle table sera créée avec les colonnes des noms et des types tels que définis dans l'instruction SELECT. Vous pouvez appliquer de nouveaux noms en utilisant la clause AS.
SQL SELECT INTO Exemples
Créer une copie de sauvegarde des clients:
SELECT *
INTO CustomersBackup2013
FROM Customers;
Utilisez la clause IN pour copier la table dans une autre base de données:
SELECT *
INTO CustomersBackup2013 IN 'Backup.mdb'
FROM Customers;
Copiez seulement quelques colonnes dans la nouvelle table:
SELECT CustomerName,
ContactName
INTO CustomersBackup2013
FROM Customers;
Copiez seulement les clients allemands dans la nouvelle table:
SELECT *
INTO CustomersBackup2013
FROM Customers
WHERE Country='Germany';
Copiez les données de plus d'une table dans la nouvelle table:
SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2013
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID;
Astuce: Le SELECT INTO peut également être utilisé pour créer une nouvelle table vide en utilisant le schéma d'un autre. Il suffit d'ajouter une clause WHERE qui provoque la requête pour renvoyer aucune donnée:
SELECT *
INTO newtable
FROM table1
WHERE 1=0;