MySQL insert cơ sở dữ liệu từ một bảng khác

0
312

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.

Panpic dịch vụ bảo trì website
MySQL sao chép dữ liệu từ bảng này sang bảng khác – ảnh Panpic

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
Cách 1: nhantam muốn sao chép insert tất cả các cột từ bảng services[] sang bảng dữ liệu mới services2[id, name, avail]

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

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

18 + = 27