Pages

Thứ Bảy, 18 tháng 5, 2019

CLONE TABLE trong SQL

CLONE TABLE trong SQL sử dụng trong tình huống khi bạn chỉ muốn tạo một bản sao chính xác hoặc bản sao của một bảng hiện có để kiểm tra hoặc thực hiện một thao tác gì đó mà không ảnh hưởng đến bảng gốc.

Nếu bạn đang sử dụng MySQL RDBMS, bạn có thể thực hiện việc này bằng cách tuân theo các bước dưới đây:

    Ví dụ minh họa cách sử dụng CLONE TABLE

    Ví dụ tạo một bảng nhân bản cho TEST_TBL có cấu trúc như sau:

    Bước 1: Tạo bảng có cấu trúc hoàn chỉnh

    SQL> SHOW CREATE TABLE TUTORIALS_TBL \G;    *************************** 1. row ***************************          Table: TUTORIALS_TBL    Create Table: CREATE TABLE 'TUTORIALS_TBL' (      'tutorial_id' int(11) NOT NULL auto_increment,      'tutorial_title' varchar(100) NOT NULL default '',      'tutorial_author' varchar(40) NOT NULL default '',      'submission_date' date default NULL,      PRIMARY KEY  ('tutorial_id'),      UNIQUE KEY 'AUTHOR_INDEX' ('tutorial_author')    ) TYPE = MyISAM    1 row in set (0.00 sec)   

    Bước 2: Đổi tên bảng này và tạo một bảng khác.

    SQL> CREATE TABLE `CLONE_TBL` (      -> 'tutorial_id' int(11) NOT NULL auto_increment,      -> 'tutorial_title' varchar(100) NOT NULL default '',      -> 'tutorial_author' varchar(40) NOT NULL default '',      -> 'submission_date' date default NULL,      -> PRIMARY KEY  (`tutorial_id'),      -> UNIQUE KEY 'AUTHOR_INDEX' ('tutorial_author')    -> ) TYPE = MyISAM;    Query OK, 0 rows affected (1.80 sec)    

    Bước 3: Sau khi thực hiện bước 2, nếu bạn muốn sao chép dữ liệu từ bảng cũ thì sử dụng câu lệnh INSERT INTO… SELECT.

    SQL> INSERT INTO CLONE_TBL (tutorial_id,       ->                        tutorial_title,       ->                        tutorial_author,       ->                        submission_date)       -> SELECT tutorial_id,tutorial_title,       ->        tutorial_author,submission_date,       -> FROM TUTORIALS_TBL;    Query OK, 3 rows affected (0.07 sec)    Records: 3  Duplicates: 0  Warnings: 0    

    Cuối cùng, bạn sẽ có một bảng clone như ý muốn.

    Trong phần tiếp theo, chúng ta sẽ tìm hiểu về Xử lý bản sao - DUPLICATE trong SQL, các bạn nhớ theo dõi nhé.

    Bài trước: Bảng tạm TEMPORARY TABLE trong SQL

    Bài tiếp: Xử lý bản sao - HANDLING DUPLICATE trong SQL


    Tham gia nhóm Facebook

    Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
    Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
    Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com