SQL SELECT INTOInstructions
Avec SQL, vous pouvez copier des informations d'une table à une autre.
L'instruction SELECT INTO copie les données d'une table et les insère dans une autre nouvelle table.
Instruction SQL SELECT INTO
L'instruction SELECT INTO copie les données d'une table et les insère dans une autre nouvelle table.
Remarque :
La base de données MySQL ne prend pas en charge l'instruction SELECT ... INTO, mais prend en chargeINSERT INTO ... SELECT 。
Bien sûr, vous pouvez utiliser l'instruction suivante pour copier la structure et les données de la table :
CREATE TABLE 新表 AS SELECT * FROM 旧表
Syntaxe SQL SELECT INTO
Supposons qu'il existe une table nommée employees contenant les données suivantes :
| EmployeeID | FirstName | LastName | Âge | Département |
|---|---|---|---|---|
| 1 | John | Doe | 30 | Sales |
| 2 | Jane | Smith | 25 | HR |
| 3 | Sam | Marron | 28 | Informatique |
Pour créer une nouvelle table nomméeemployees_backupet inséreremployeestoutes les données de la table dans la nouvelle table, vous pouvez utiliser l'instruction SQL suivante :
SELECT * INTO employees_backup FROM employees;
Après avoir exécuté cette instruction, la nouvelleemployees_backuptable ne contiendra que les données des employés de plus de 25 ans.
SELECT EmployeeID, FirstName, LastName, Age, Department INTO employees_backup FROM employees WHERE Age > 25;
Notes d'utilisation
Structure de la table:
SELECT INTOcréera une nouvelle table, et la structure de la nouvelle table sera basée sur les colonnes et les types de données sélectionnés.- Si la nouvelle table existe déjà,
SELECT INTOl'instruction échouera. Dans ce cas, vous pouvez utiliserINSERT INTO ... SELECTl'instruction.
Prise en charge des bases de données:
SELECT INTOL'instruction est très courante dans SQL Server, mais dans MySQL et PostgreSQL, elle est généralement utiliséeCREATE TABLE ... AS SELECTl'instruction.
Alternatives dans d'autres bases de données
MySQL et PostgreSQL
Dans MySQL et PostgreSQL, vous pouvez utiliserCREATE TABLE ... AS SELECTpour obtenir des fonctionnalités similaires :
CREATE TABLE employees_backup AS SELECT EmployeeID, FirstName, LastName, Age, Department FROM employees WHERE Age > 25;Autres extensions