MariaDB - Nhân bản bảng

Một số tình huống yêu cầu tạo một bản sao chính xác của bảng hiện có. Câu lệnh CREATE ... SELECT không thể tạo ra kết quả này vì nó bỏ qua những thứ như chỉ mục và giá trị mặc định.

Quy trình sao chép một bảng như sau:

  • Sử dụng SHOW CREATE TABLE để tạo ra một câu lệnh CREATE TABLE trình bày chi tiết toàn bộ cấu trúc của bảng nguồn.

  • Chỉnh sửa câu lệnh để đặt tên mới cho bảng và thực thi nó.

  • Sử dụng câu lệnh INSERT INTO ... SELECT nếu bạn cũng cần sao chép dữ liệu bảng.

mysql> INSERT INTO inventory_copy_tbl (
   product_id,product_name,product_manufacturer,ship_date)
   
   SELECT product_id,product_name,product_manufacturer,ship_date,
   FROM inventory_tbl;

Một phương pháp khác để tạo bản sao sử dụng câu lệnh CREATE TABLE AS. Câu lệnh sao chép tất cả các cột, định nghĩa cột và điền bản sao với dữ liệu của bảng nguồn.

Xem lại cú pháp của nó được đưa ra bên dưới -

CREATE TABLE clone_tbl AS
   SELECT columns
   FROM original_tbl
   WHERE conditions];

Xem lại một ví dụ về việc sử dụng nó bên dưới -

CREATE TABLE products_copy_tbl AS
   SELECT *
   FROM products_tbl;