Angenommen, Sie müssen Daten von einer Tabelle in eine andere kopieren. Sie können in MySQL Daten aus einer Tabelle in eine andere einfügen.
Die Anweisung INSERT INTO SELECT kopiert Daten von einer Tabelle in eine andere. Vorhandene Zeilen in der Zieltabelle sind nicht betroffen.
Syntax
Daten für alle Spalten aus einer Tabelle in eine andere einfügen,
INSERT INTO table2 SELECT * FROM table1;
Einfügen von Daten aus einer Tabelle in eine andere für bestimmte Spalten,
INSERT INTO table2 column1, column2.. SELECT column1, column2, .. FROM table1;
Beispiele
Betrachten Sie 2 Beispieltabellen, Benutzer und Kunden
Users +------+--------------+-------------+ | id | user_name | location | +------+--------------+-------------+ | 1 | Jim | London | | 4 | Rocky | US | | 7 | Dan | Italy | | 3 | Bill | France | +------+--------------+-------------+
Customers +-------+------------------+--------+------------+ | id | customer_name | age | location | +-------+------------------+--------+------------+ | 11 | John | 23 | US | | 14 | Roger | 36 | London | | 17 | Will | 29 | Spain | | 13 | Bob | 34 | Japan | +-------+------------------+--------+------------+
Einfügen von Daten aus einer Tabelle in eine andere für einige Spalten
mysql> INSERT INTO users (user_name, location) SELECT customer_name, location FROM customers; +------+--------------+-------------+ | id | user_name | location | +------+--------------+-------------+ | 1 | Jim | London | | 4 | Rocky | US | | 7 | Dan | Italy | | 3 | Bill | France | | 11 | John | US | | 14 | Roger | London | | 17 | Will | Spain | | 13 | Bob | Japan | +-------+-------------+-------------+
Fügen Sie für einige Spalten Daten aus einer Tabelle in eine andere ein, nur die Kunden, die sich in den USA befinden.