Tìm hiểu Table Cloning trong MariaDB
Trong nhiều trường hợp, việc tạo một bản sao chính xác của một bảng đã tồn tại là cần thiết. Tuy nhiên, câu lệnh CREATE...SELECT
không thể tạo ra bản sao hoàn chỉnh vì nó không sao chép các thuộc tính quan trọng như chỉ mục (indexes) và giá trị mặc định (default values).
Quy trình Table Cloning trong MariaDB
Để tạo một bản sao chính xác của bảng, thực hiện theo các bước sau:
-
Dùng
SHOW CREATE TABLE
để tạo câu lệnhCREATE TABLE
chi tiết toàn bộ cấu trúc bảng nguồn. -
Chỉnh sửa tên bảng trong câu lệnh vừa tạo, sau đó thực thi câu lệnh này để tạo bảng mới.
Bài viết này được đăng tại [free tuts .net]
-
Nếu cần sao chép dữ liệu, sử dụng câu lệnh
INSERT INTO...SELECT
để chèn dữ liệu từ bảng nguồn vào bảng mới.
Ví dụ:
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;
Sử dụng CREATE TABLE AS
trong MariaDB
Một cách khác để Table Cloning là sử dụng câu lệnh CREATE TABLE AS
. Phương pháp này sao chép toàn bộ các cột, định nghĩa cột và đồng thời điền dữ liệu từ bảng nguồn vào bảng sao chép.
Cú pháp:
CREATE TABLE clone_tbl AS SELECT columns FROM original_tbl WHERE conditions;
Ví dụ minh họa:
CREATE TABLE products_copy_tbl AS SELECT * FROM products_tbl;
Lưu ý quan trọng:
- Khi sử dụng phương pháp
CREATE TABLE AS
, hãy lưu ý rằng nó chỉ tạo ra bản sao các cột và dữ liệu mà không sao chép các chỉ mục, khóa chính, hay các ràng buộc khác từ bảng gốc. Để tạo ra bản sao hoàn chỉnh, cần thực hiện bước chỉnh sửa chi tiết thủ công.
Kết bài
Table Cloning trong MariaDB là một công cụ mạnh mẽ giúp sao chép cấu trúc và dữ liệu của bảng gốc một cách hiệu quả. Phương pháp này hỗ trợ người dùng thực hiện các tác vụ như kiểm thử, phân tích dữ liệu, và sao lưu dữ liệu nhanh chóng mà không làm ảnh hưởng đến bảng gốc. Tuy nhiên, để tạo ra một bản sao hoàn chỉnh, cần chú ý đến việc sao chép chỉ mục, khóa chính, và các ràng buộc khác nếu cần. Sử dụng linh hoạt các phương pháp như CREATE TABLE AS
và INSERT INTO...SELECT
giúp bạn tối ưu hóa quá trình quản trị và vận hành cơ sở dữ liệu.