Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstawiaj dane z jednej tabeli do drugiej w MySQL

Załóżmy, że musisz skopiować dane z jednej tabeli do drugiej. Możesz wstawić dane z tabeli do innej w MySQL.

Instrukcja INSERT INTO SELECT kopiuje dane z jednej tabeli do drugiej. Istniejące wiersze w tabeli docelowej pozostają nienaruszone.

Składnia
Wstawiaj dane z jednej tabeli do drugiej dla wszystkich kolumn,

INSERT INTO table2
SELECT * FROM table1;

Wstawiaj dane z jednej tabeli do drugiej dla określonych kolumn,

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

Przykłady
Rozważ 2 przykładowe tabele, Użytkownicy i Klienci

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

Wstawiaj dane z jednej tabeli do drugiej dla kilku kolumn

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

Wstawiaj dane z jednej tabeli do drugiej dla kilku kolumn, tylko ci klienci znajdujący się w „USA”

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL zbyt długi varchar obcinanie/ustawienie błędu

  2. Co oznacza słowo kluczowe KLUCZ?

  3. Jak zapętlić zapytanie MySQL przez PDO w PHP?

  4. Znajdź liczbę kolumn w tabeli

  5. Jak znaleźć luki w numeracji sekwencyjnej w mysql?