Database
 sql >> Database >  >> RDS >> Database

Come copiare i dati da una tabella all'altra in SQL

A volte potrebbe essere necessario copiare i dati da una tabella all'altra nel database. In questo articolo, vedremo come copiare i dati da una tabella all'altra utilizzando SQL. È un modo molto conveniente per trasferire i dati da una tabella all'altra. Puoi utilizzare questi passaggi per copiare i dati da una tabella all'altra in MySQL, PostgreSQL, SQL Server e Oracle.


Come copiare dati da una tabella a un'altra tabella in SQL

Di seguito sono riportati i passaggi per copiare i dati da una tabella a un'altra.

Supponiamo che tu abbia la seguente tabella 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       |
+------+------------+-----------+

Supponiamo che tu voglia copiare i dati da dipendenti tabella in un'altra tabella employees2(id, first_name, last_name) .

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

Ecco la sintassi della query SQL per copiare i dati da una tabella all'altra utilizzando l'istruzione INSERT INTO.

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

Nella query precedente, selezioniamo column1, column2, … dalla tabella2 e le inseriamo nella tabella1.

Leggi anche:Come aggiornare più colonne in MySQL

Si noti che le colonne utilizzate nell'istruzione INSERT INTO e nell'istruzione SELECT devono avere lo stesso nome e ordine. In caso contrario, riceverai un errore.

Ecco la query SQL per copiare i dati da dipendenti tabella a dipendenti2 tabella.

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 semplifica la visualizzazione dei dati e il monitoraggio in dashboard in tempo reale. Prova Ubiq gratuitamente.