sql >> Database >  >> RDS >> Mysql

Gegevens van de ene tabel in de andere invoegen in MySQL

Stel dat u gegevens van de ene tabel naar de andere moet kopiëren. U kunt gegevens uit een tabel invoegen in een andere in MySQL.

De instructie INSERT INTO SELECT kopieert gegevens van de ene tabel naar de andere. Bestaande rijen in de doeltabel worden niet beïnvloed.

Syntaxis
Gegevens van de ene tabel in de andere invoegen voor alle kolommen,

INSERT INTO table2
SELECT * FROM table1;

Gegevens van de ene tabel in de andere invoegen voor specifieke kolommen,

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

Voorbeelden
Overweeg 2 voorbeeldtabellen, gebruikers en klanten

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

Gegevens van de ene tabel in de andere invoegen voor een paar kolommen

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

Voeg gegevens van de ene tabel in de andere in voor een paar kolommen, alleen die klanten die zich in 'VS' bevinden

  1. hoe de begin- en einddatum van alle weken tussen twee datums in SQL-server te krijgen?

  2. mysql selecteer dynamische rijwaarden als kolomnamen, een andere kolom als waarde

  3. Sorteren in SQL Server

  4. Waarom zou ik int gebruiken in plaats van een byte of short in C#