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

Copia i dati in una nuova tabella in MySQL

Puoi facilmente copiare i dati in una nuova tabella in MySQL usando SELECT INTO. Questo ti aiuta a creare rapidamente tabelle temporanee.

L'istruzione SELECT INTO copia i dati da una tabella e li inserisce in una nuova tabella. L'istruzione SELECT INTO seleziona i dati da una tabella e li inserisce in una nuova tabella.

SQL SELECT INTO Sintassi

Copia tutte le colonne in una nuova tabella nello stesso database:

SELECT *
INTO new_table
FROM table_name;

Copia tutte le colonne in una nuova tabella in un database diverso:

SELECT *
INTO new_table IN database_name
FROM table_name;

Copia solo le colonne che desideriamo nella nuova tabella nello stesso database:

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;

Nota

La nuova tabella verrà creata con i nomi e i tipi di colonna definiti nell'istruzione SELECT. Puoi applicare nuovi nomi utilizzando la clausola AS.

SQL SELECT INTO Esempi
Crea una copia di backup di Clienti:

SELECT *
INTO Users_Backup
FROM Users;

Usa la clausola IN per copiare la tabella in un altro database:

SELECT *
INTO Users_Backup IN 'Backup_database'
FROM Users;

Copia solo alcune colonne nella nuova tabella:

SELECT User_Name, User_Contact
INTO Users_Backup
FROM Users;

Copia solo i clienti americani nella nuova tabella:

SELECT *
INTO Users_Backup
FROM Users
WHERE Country='USA';

Copia i dati da più tabelle nella nuova tabella:

SELECT Users.User_Name, Orders.Order_ID
INTO Users_Order_Backup
FROM Users
LEFT JOIN Orders
ON Users.User_ID=Orders.User_ID;

Suggerimento :L'istruzione SELECT INTO può essere utilizzata anche per creare una nuova tabella vuota utilizzando lo schema di un'altra. Basta aggiungere una clausola WHERE che fa sì che la query non restituisca dati: