Khoá học: Thiết lập dự án Wordpress

Nếu bạn đang tìm kiếm một cách nhanh chóng và hiệu quả để thiết lập một trang web cá nhân hoặc doanh nghiệp của mình, hãy bắt đầu với WordPress. Được coi là nền tảng quản lý nội dung (CMS) phổ biến nhất trên thế giới, WordPress cho phép bạn dễ dàng tạo ra một [...]

MySQL Bài 28: Sao chép dữ liệu từ bảng này vào bảng khác trong MySQL

– Trong hệ quản trị cơ sở dữ liệu MySQL, để sao chép dữ liệu (các hàng) từ một bảng này vào bên trong một bảng khác thì chúng ta có thể sử dụng một trong hai cú pháp như sau.

Cú pháp 1

– Cú pháp này được sử dụng trong trường hợp chúng ta muốn sao chép dữ liệu từ tất cả các cột của bảng table1 vào bên trong bảng table2 (Lưu ý: Khi sử dụng cú pháp này thì số cột của bảng table2 phải bằng với số lượng cột của bảng table1, nếu không thì khi thực thi lệnh sẽ bị lỗi)

INSERT INTO table2
SELECT *
FROM table1
WHERE condition;

Cú pháp 2

– Cú pháp này thường được sử dụng trong những trường hợp chúng ta muốn sao chép dữ liệu từ một số cột nào đó của bảng table1 vào một số cột nào đó của bảng table2.

INSERT INTO table2 (column1, column2, column3, . . . .)
SELECT column1, column2, column3, . . . .
FROM table1
WHERE condition;

Tham khảo một số ví dụ

– Trong bài học này, tôi sẽ dùng hai cái bảng Customers & Student như bên dưới để làm một số ví dụ minh họa:

CustomerNameGenderAddressCity
Nguyễn Thành NhânNam63 Hoàng Văn ThụCần Thơ
Lưu Đức HoaNam16 Nguyễn Văn CừVĩnh Long
Phan Kim LiênNữTổ 6 – Hoàng Hoa ThámSóc Trăng
Tây Môn KhánhNamSố 4A Đinh LễCần Thơ
Doãn Quốc Thiên ThanhNữ164 Lê Thánh TôngAn Giang
Phạm Thị Tuyết NhungNữSố 169 Trần Quang DiệuBạc Liêu
Châu Tinh TrìNamSố 811 Giải PhóngCần Thơ
HoTenGioiTinhDiaChiThanhPho
Ông Hoàng Dược SưNam378 Trần Quang DiệuĐà Nẵng
Ví dụ 1:

– Sao chép toàn bộ dữ liệu từ bảng Customers vào bảng Student

INSERT INTO Student
SELECT *
FROM Customers;

– Sau khi thực thi câu lệnh phía trên thì cái bảng Student sẽ trở thành:

HoTenGioiTinhDiaChiThanhPho
Ông Hoàng Dược SưNam378 Trần Quang DiệuĐà Nẵng
Nguyễn Thành NhânNam63 Hoàng Văn ThụCần Thơ
Lưu Đức HoaNam16 Nguyễn Văn CừVĩnh Long
Phan Kim LiênNữTổ 6 – Hoàng Hoa ThámSóc Trăng
Tây Môn KhánhNamSố 4A Đinh LễCần Thơ
Doãn Quốc Thiên ThanhNữ164 Lê Thánh TôngAn Giang
Phạm Thị Tuyết NhungNữSố 169 Trần Quang DiệuBạc Liêu
Châu Tinh TrìNamSố 811 Giải PhóngCần Thơ
Ví dụ 2:

– Sao chép dữ liệu của những khách hàng sống tại Cần Thơ trong bảng Customers vào bảng Student

INSERT INTO Student
SELECT *
FROM Customers
WHERE City = "Cần Thơ";

– Sau khi thực thi câu lệnh phía trên thì cái bảng Student sẽ trở thành:

HoTenGioiTinhDiaChiThanhPho
Ông Hoàng Dược SưNam378 Trần Quang DiệuĐà Nẵng
Nguyễn Thành NhânNam63 Hoàng Văn ThụCần Thơ
Tây Môn KhánhNamSố 4A Đinh LễCần Thơ
Châu Tinh TrìNamSố 811 Giải PhóngCần Thơ
Ví dụ 3:

– Sao chép dữ liệu của hai cột CustomerName & City trong bảng Customers vào hai cột HoTen & ThanhPho của bảng Student

INSERT INTO Student (HoTen, ThanhPho)
SELECT CustomerName, City
FROM Customers;

– Sau khi thực thi câu lệnh phía trên thì cái bảng Student sẽ trở thành:

HoTenGioiTinhDiaChiThanhPho
Ông Hoàng Dược SưNam378 Trần Quang DiệuĐà Nẵng
Nguyễn Thành NhânNULLNULLCần Thơ
Lưu Đức HoaNULLNULLVĩnh Long
Phan Kim LiênNULLNULLSóc Trăng
Tây Môn KhánhNULLNULLCần Thơ
Doãn Quốc Thiên ThanhNULLNULLAn Giang
Phạm Thị Tuyết NhungNULLNULLBạc Liêu
Châu Tinh TrìNULLNULLCần Thơ

Lưu ý: Khi chúng ta sao chép dữ liệu (các hàng) từ bảng table1 vào bên trong bảng table2 thì các hàng ban đầu của bảng table2 vẫn được giữ nguyên, chứ không bị mất đi.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *