sql >> Databasteknik >  >> RDS >> Mysql

Infoga data från en tabell till en annan i MySQL

Låt oss säga att du behöver kopiera data från en tabell till en annan. Du kan infoga data från tabell till en annan i MySQL.

INSERT INTO SELECT-satsen kopierar data från en tabell till en annan. Befintliga rader i måltabellen påverkas inte.

Syntax
Infoga data från en tabell i en annan för alla kolumner,

INSERT INTO table2
SELECT * FROM table1;

Infoga data från en tabell i en annan för specifika kolumner,

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

Exempel
Tänk på två exempeltabeller, användare och 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   |
+-------+------------------+--------+------------+

Infoga data från en tabell i en annan för några kolumner

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

Infoga data från en tabell till en annan för några kolumner, endast de kunder som finns i "USA"

  1. Android room - Hur man rensar sqlite_sequence för alla tabeller

  2. ~/.psqlrc-fil för DBA:er

  3. mysql error 1364 Fältet har inga standardvärden

  4. Exportera SQLite-databas till XML-fil