Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách sử dụng truy vấn con MySQL với câu lệnh INSERT


Minh họa bằng ví dụ sao chép dữ liệu từ bảng này sang bảng khác. Dùng dữ liệu từ bảng cars sao chép sang copy_cars.

mysql> CREATE TABLE copy_cars LIKE cars;
Query OK, 0 rows affected (0.86 sec)
mysql> SELECT * from copy_cars;
Empty set (0.08 sec)

Truy vấn dùng subquery chèn dữ liệu:

mysql> INSERT INTO Copy_cars Select * from Cars;
Query OK, 8 rows affected (0.07 sec)
mysql> SELECT * from copy_cars;
+------+--------------+---------+
| ID   | Name         | Price   |
+------+--------------+---------+
|    1 | Nexa         |  750000 |
|    2 | Maruti Swift |  450000 |
|    3 | BMW          | 4450000 |
|    4 | VOLVO        | 2250000 |
|    5 | Alto         |  250000 |
|    6 | Skoda        | 1250000 |
|    7 | Toyota       | 2400000 |
|    8 | Ford         | 1100000 |
+------+--------------+---------+
8 rows in set (0.00 sec)

Giải thích:

  • CREATE TABLE ... LIKE tạo bảng mới với cấu trúc y hệt bảng cũ (không copy dữ liệu)
  • INSERT INTO ... SELECT * FROM chèn tất cả hàng từ bảng nguồn
  • Subquery ở đây là SELECT * FROM Cars trả về tập kết quả để INSERT
Đây là cách phổ biến để sao chép dữ liệu giữa các bảng cùng cấu trúc.