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: