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

Comment copier des données d'une table à une autre en SQL

Parfois, vous devrez peut-être copier des données d'une table à une autre dans votre base de données. Dans cet article, nous verrons comment copier des données d'une table à une autre à l'aide de SQL. C'est un moyen très pratique de transférer des données d'une table à une autre. Vous pouvez utiliser ces étapes pour copier des données d'une table à une autre dans MySQL, PostgreSQL, SQL Server et Oracle.


Comment copier des données d'une table vers une autre table en SQL

Voici les étapes pour copier des données d'une table à une autre table.

Disons que vous avez la table suivante employees(id, first_name, last_name)

mysql> create table employees(id int, 
      first_name varchar(255),
      last_name varchar(255));

mysql> insert into employees(id, first_name, last_name)
       values(1,'John','Doe'),
       (2,'Jane','Doe');

mysql> select * from employees;
+------+------------+-----------+
| id   | first_name | last_name |
+------+------------+-----------+
|    1 | John       | Doe       |
|    2 | Jane       | Doe       |
+------+------------+-----------+

Supposons que vous souhaitiez copier les données des employés table vers une autre table employees2(id, first_name, last_name) .

mysql> create table employees2(id int,
       first_name varchar(255),
       last_name varchar(255));

Voici la syntaxe de requête SQL pour copier des données d'une table à une autre à l'aide de l'instruction INSERT INTO.

INSERT INTO table1 (column1, column2, ...)
select column1, column2, ...
from table2

Dans la requête ci-dessus, nous sélectionnons colonne1, colonne2, … de table2 et les insérons dans table1.

A lire également :Comment mettre à jour plusieurs colonnes dans MySQL

Veuillez noter que les colonnes utilisées dans l'instruction INSERT INTO et l'instruction SELECT doivent avoir le même nom et le même ordre. Sinon, vous obtiendrez une erreur.

Voici la requête SQL pour copier les données des employés tableau aux employés2 tableau.

mysql> insert into employees2(id, first_name, last_name)
       select id, first_name, last_name
       from employees;

mysql> select * from employees2;
+------+------------+-----------+
| id   | first_name | last_name |
+------+------------+-----------+
|    1 | John       | Doe       |
|    2 | Jane       | Doe       |
+------+------------+-----------+

Ubiq facilite la visualisation des données et leur suivi dans des tableaux de bord en temps réel. Essayez Ubiq gratuitement.