Mysql
 sql >> Base de données >  >> RDS >> Mysql

Copier les données dans une nouvelle table dans MySQL

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 :