Możesz łatwo skopiować dane do nowej tabeli w MySQL za pomocą SELECT INTO. Pomaga to szybko tworzyć tabele tymczasowe.
Instrukcja SELECT INTO kopiuje dane z jednej tabeli i wstawia je do nowej tabeli. Instrukcja SELECT INTO wybiera dane z jednej tabeli i wstawia je do nowej tabeli.
SQL SELECT INTO Składnia
Skopiuj wszystkie kolumny do nowej tabeli w tej samej bazie danych:
SELECT * INTO new_table FROM table_name;
Skopiuj wszystkie kolumny do nowej tabeli w innej bazie danych:
SELECT * INTO new_table IN database_name FROM table_name;
Skopiuj tylko żądane kolumny do nowej tabeli w tej samej bazie danych:
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;
Uwaga
Nowa tabela zostanie utworzona z nazwami i typami kolumn zdefiniowanymi w instrukcji SELECT. Możesz zastosować nowe nazwy za pomocą klauzuli AS.
SQL SELECT INTO Przykłady
Utwórz kopię zapasową Klientów:
SELECT * INTO Users_Backup FROM Users;
Użyj klauzuli IN, aby skopiować tabelę do innej bazy danych:
SELECT * INTO Users_Backup IN 'Backup_database' FROM Users;
Skopiuj tylko kilka kolumn do nowej tabeli:
SELECT User_Name, User_Contact INTO Users_Backup FROM Users;
Skopiuj do nowej tabeli tylko klientów amerykańskich:
SELECT * INTO Users_Backup FROM Users WHERE Country='USA';
Skopiuj dane z więcej niż jednej tabeli do nowej tabeli:
SELECT Users.User_Name, Orders.Order_ID INTO Users_Order_Backup FROM Users LEFT JOIN Orders ON Users.User_ID=Orders.User_ID;
Wskazówka :Instrukcja SELECT INTO może być również używana do tworzenia nowej, pustej tabeli przy użyciu innego schematu. Wystarczy dodać klauzulę WHERE, która spowoduje, że zapytanie nie zwróci żadnych danych: