Trong MySQL, bạn có thể tạo một bảng mới bằng cách sao chép cấu trúc và dữ liệu từ một bảng cũ hoặc chỉ lấy các trường cụ thể từ bảng cũ. Điều này thường được sử dụng khi bạn muốn tạo bảng mới dựa trên một phần dữ liệu của bảng hiện có. Dưới đây là cách thực hiện điều đó với các trường hợp khác nhau.

1. Tạo bảng mới từ toàn bộ dữ liệu bảng cũ

Nếu bạn muốn sao chép toàn bộ cấu trúc và dữ liệu từ bảng cũ sang bảng mới, bạn có thể sử dụng cú pháp sau:

new_table

2. Tạo bảng mới từ một số trường cụ thể của bảng cũ

Nếu bạn chỉ muốn sao chép một số trường từ bảng cũ, bạn cần chỉ định các trường đó trong câu lệnh SELECT:

employees_selected

Ví dụ:

employees_under_30

Ví dụ:

employees_structure

Hoặc thêm chỉ mục:

ALTER TABLE new_table ADD INDEX (column_name);

Kết luận

Cú pháp CREATE TABLE ... AS SELECT ... trong MySQL cho phép bạn tạo một bảng mới từ dữ liệu của bảng cũ với nhiều tùy chọn khác nhau, bao gồm sao chép toàn bộ dữ liệu, chỉ sao chép một số trường cụ thể, hoặc sao chép có điều kiện. Tuy nhiên, các chỉ mục và ràng buộc sẽ không được sao chép tự động, và bạn cần thêm chúng thủ công sau khi tạo bảng mới.