Vous pouvez facilement copier des données dans une nouvelle table dans MySQL en utilisant SELECT INTO. Cela vous aide à créer rapidement des tables temporaires.
L'instruction SELECT INTO copie les données d'une table et les insère dans une nouvelle table. L'instruction SELECT INTO sélectionne les données d'une table et les insère dans une nouvelle table.
Syntaxe SQL SELECT INTO
Copiez toutes les colonnes dans une nouvelle table dans la même base de données :
SELECT * INTO new_table FROM table_name;
Copiez toutes les colonnes dans une nouvelle table dans une autre base de données :
SELECT * INTO new_table IN database_name FROM table_name;
Copiez uniquement les colonnes souhaitées dans la nouvelle table de la même base de données :
SELECT column_name1,column_name2,.. INTO new_table FROM table_name;
SELECT column_name1,column_name2,.. INTO new_table IN database_name FROM table_name;
Remarque
La nouvelle table sera créée avec les noms de colonnes et les types tels que définis dans l'instruction SELECT. Vous pouvez appliquer de nouveaux noms à l'aide de la clause AS.
Exemples SQL SELECT INTO
Créez une copie de sauvegarde des clients :
SELECT * INTO Users_Backup FROM Users;
Utilisez la clause IN pour copier la table dans une autre base de données :
SELECT * INTO Users_Backup IN 'Backup_database' FROM Users;
Copiez seulement quelques colonnes dans le nouveau tableau :
SELECT User_Name, User_Contact INTO Users_Backup FROM Users;
Copiez uniquement les clients américains dans le nouveau tableau :
SELECT * INTO Users_Backup FROM Users WHERE Country='USA';
Copiez les données de plusieurs tables dans la nouvelle table :
SELECT Users.User_Name, Orders.Order_ID INTO Users_Order_Backup FROM Users LEFT JOIN Orders ON Users.User_ID=Orders.User_ID;
Astuce :L'instruction SELECT INTO peut également être utilisée pour créer une nouvelle table vide en utilisant le schéma d'une autre. Ajoutez simplement une clause WHERE qui fait que la requête ne renvoie aucune donnée :