Insert dữ liệu hay sao chép dữ liệu từ một bảng này sang một bảng khác trong MySQL
Bài toán đặt ra tôi muốn sao chép dữ liệu – insert dữ liệu các hàng cột từ một bảng này sang một bảng khác cú pháp truy vấn MySQL như thế nào? Có nhiều cách để thực hiện yêu cầu trên, như thông quan Server, thông qua các tool hỗ trợ quản lý CSDL database …vv, hôm nay nhantam giới thiệu với các bạn một số cách trong truy vấn MySQL như sau.

Cách 1: Sao chép 2 table giống nhau
Cách 1 được thực hiện trong trường hợp chúng ta muốn sao chép – insert dữ liệu giống y chang nhau từ một table A sang table B
INSERT INTO tableB
SELECT *
FROM tableA
WHERE condition
Lưu ý: Khi sử dụng cách thức trên các bạn chú ý là 2 tableA, tableB có số lượng cột trường dữ liệu y chang nhau, và kiểu dữ liệu giống nhau
Cách 2: Sao chép một số cột từ tableB sang tableA
Cách 2 được thực hiện trong trường hợp chúng ta chỉ sao chép một số cột nhất định từ bảng dữ liệu ở tableB sang tableA
INSERT INTO tableA(column1, column2, column3)
SELECT column1, column2, column3
FROM tableB
WHERE condition
Ví dụ: nhantam có bảng dữ liệu services[id, name, avail] dữ liệu như sau
id | name | avail |
1 | Thiết kế web | 1 |
2 | Bảo trì website | 1 |
3 | Thiết kế đồ họa | 1 |
4 | Mobile app | 1 |
5 | SEO web | 1 |
INSERT INTO services2
SELECT *
FROM services
Cách 2: nhantam chỉ sao chép 2 cột [id, name] từ bảng services sang bảng dữ liệu mới services2[id, name]
INSERT INTO services2(id, name)
SELECT id, name
FROM services
Chúc các bạn thành công. Tham khảo thêm một số cách trên stackoverflow mysql insert table from another table
Các bạn có cách thức thực hiện thao tac với dữ liệu khác nhau xin chia sẻ vào ô bình luận comment bên dưới để cùng lan tỏa kiến thức quản lý cơ sở dữ liệu database.
nhantam
Dịch vụ bảo trì web tại Panpic