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

Indsæt data fra en tabel i en anden i MySQL

Lad os sige, at du skal kopiere data fra en tabel til en anden. Du kan indsætte data fra tabel i en anden i MySQL.

INSERT INTO SELECT-sætningen kopierer data fra en tabel til en anden. Eksisterende rækker i måltabellen er upåvirkede.

Syntaks
Indsæt data fra en tabel i en anden for alle kolonner,

INSERT INTO table2
SELECT * FROM table1;

Indsæt data fra en tabel i en anden for specifikke kolonner,

INSERT INTO table2
column1, column2..
SELECT column1, column2, ..
FROM table1;

Eksempler
Overvej 2 eksempeltabeller, Brugere og Kunder

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   |
+-------+------------------+--------+------------+

Indsæt data fra en tabel i en anden for et par kolonner

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   |
+-------+-------------+-------------+

Indsæt data fra en tabel i en anden for nogle få kolonner, kun de kunder, der er placeret i 'USA'

  1. Opretter forbindelse til Sage fra Java

  2. Inkrementel datamaskering og kortlægning:Registrering af ændringer og opdatering...

  3. SQL Server REPLACE() vs TRANSLATE():Hvad er forskellene?

  4. Sådan tilføjes ikke null-begrænsning til eksisterende kolonne i MySQL